办公室电脑上安装了两块网卡,一块接入税务局域网,一块接入Internet。两块网卡不能同时运行,否则会造成域名解析错误,内网下的软件也不能正常运行。因此切换网络就必须切换网卡,禁用一块,再启用一块,启用前还需等前一块禁用完毕,否则会造成启用无效无法获取正常的ip。为了省心,决定用vbs将这些操作合并起来。
首先在微软网站下载devcon这个工具,http://support.microsoft.com/default.aspx?scid=kb;zh-cn;311272.
然后在设备管理器找到需要进行切换的网卡,查看其设备实例名,也可以使用devcon命令find查询,如我的两块网卡
PCI/VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10/4&3A321F38&0&20F0
PCI/VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10/4&3A321F38&0&50F0
区别之处是末尾的20F0和50F0,因此使用通配符来标识,@*20F0和@*50F0;然后采用vbs执行命令就大功告成了。
代码如下:
strNICName = " disable @*50F0"
Set objShell = CreateObject("Wscript.Shell")
strCommand = "D:/devcon/devcon.exe"& strNICName
objShell.Run strCommand, 0, False
strNICName = " enable @*20F0"
Set objShell = CreateObject("Wscript.Shell")
strCommand = "D:/devcon/devcon.exe"& strNICName
objShell.Run strCommand, 0, False
保存为*.vbs文件。
另外devcon.exe还支持其他对设备的管理,例如驱动程序的加载卸载,重启计算机等。唯一遗憾的是不知道怎么接收其返回的结果,只能得到程序运行状态,或者就是将结果保存为文件(不过通过文件也可以实现与其他程序的交互,这样就能在你的程序里实现设备管理器啦),感兴趣你们也去下载来试试。