用DWin写个自动拨号器

在Windows下编程有时要用到自动断线和拨号的功能, 用D语言库DWin库来实现就非常简单。

首先下载和安装D语言库DWin    http://dwin.d-programming-language-china.org/

https://www.d-programming-language-china.org/dwin-zi-dong-bo-hao-qi/

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语言中国   https://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

https://www.d-programming-language-china.org/dwin-zi-dong-bo-hao-qi/
用DWin写个自动拨号器

相关文章: