在Windows下编程有时要用到自动断线和拨号的功能, 用D语言库DWin库来实现就非常简单。
首先下载和安装D语言库DWin http://dwin.d-programming-language-china.org/库
DWin有关网络的操作在dwin.net.Net模块里。负责断线的是hangUp函数,负责拨号的是dialUp函数,函数的参数是拨号连接的名称。中文版Windows XP, 宽带拨号的默认名称一般是宽带链接,英文版则是Broadband Connection, 你的电脑设置可能不一样。也就是
//拨号
dialUp("\"Broadband Connection\"");
//断线
hangUp("\"Broadband Connection\"");
要注意的是,在测试代码前,要把宽带链接的属性改成断线自动重拨。
如果断线和重拨一起使用,一般要在两者之间加上延时,这里就要用到dwin.sys.win32.Process模块中的doEvents函数。这个函数来自DFL, 在编译库和exe时要加上-version=DFL才能使用。
完整的代码大概是这样,我没有测试,如有问题自己适当修改。
by D语言中国 http://www.d-programming-language-china.org/
import dwin.net.Net;
import dwin.sys.win32.Process;
void main()
{
hangUp("宽带连接");
doEvents(3000);
dialUp("宽带连接");
}
直接用D语言编译器DMD编译,编译命令可能长得这样样子:
dmd module.d -L/SUBSYSTEM:windows:5 -version=DFL dwin.lib tango-base-dmd.lib tango-user-dmd.lib tango-win32-dmd.lib
我一般是用Makefile编译exe, 写好Makefile后,在最好的D语言编辑器SciTE4D http://scite4d.d-programming-language-china.org/ 里一键编译和调试。
本文环境:DMD 1.037, D语言库DWin http://dwin.d-programming-language-china.org/ 0.38, Tango 0.997
http://www.d-programming-language-china.org/dwin-zi-dong-bo-hao-qi/用DWin写个自动拨号器
