禁用启用网卡vbs改成au3格式(已解决)
本帖最后由 dearmb 于 2014-5-6 16:15 编辑Set WMI=GetObject("winmgmts:\\.\root\cimv2")
Set w=WMI.ExecQuery("select * from WIN32_NetworkAdapter")
For Each i In w
If i.NetConnectionID="本地连接" Then
If i.NetConnectionStatus<>0 then
i.Disable
Else
i.Enable
end if
End If
next以上vbs为,如果当前网卡禁用,则启用网卡,如果当前网卡启用,则禁用网卡
我想要的效果是
首先禁用网卡
之后如果按热键F10,则启用网卡
如果没有按热键F10,则等待10分钟后启用网卡
就是先禁用网卡之后手动或者自动让网卡再重新启用
不会改成au3…… Local $colItems
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM WIN32_NetworkAdapter", "WQL", 48)
If IsObj($colItems) Then
For $objItem In $colItems
If $objItem.NetConnectionID = "VirtualBox Host-Only Network" Then
If $objItem.NetConnectionStatus <> 0 Then
$objItem.Disable
Else
$objItem.Enable
EndIf
EndIf
Next
Else
MsgBox(0, "", "err")
EndIf 修改为“本地连接”解决 不错,顶楼主... 回复 3# dearmb
请楼主贴出解决的完整代码以供学习谢谢了 不错 ,学习了 把二楼的代码中间的VirtualBox Host-Only Network替换成自己想要关闭的网卡就可以了啊
一般是“本地连接”,你自己的就不知道了
二楼可能是用VBOX做的,所以是虚拟机网卡 HotKeySet("{F3}", "Terminate")
NetWork()
Sleep(300000)
NetWork()
Func Terminate()
NetWork()
exit
EndFunc
Func NetWork()
Local $colItems
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM WIN32_NetworkAdapter", "WQL", 48)
If IsObj($colItems) Then
For $objItem In $colItems
If $objItem.NetConnectionID = "本地连接" Then
If $objItem.NetConnectionStatus <> 0 Then
$objItem.Disable
Else
$objItem.Enable
EndIf
EndIf
Next
Else
MsgBox(0, "", "err")
EndIf
EndFunc按热键F3恢复,如果不按,5分钟后自动恢复 顶一个,不收费什么的最爱了。 正需要啊,感谢分享。 如果网卡名称不叫本地连接怎么处理?我这边的网卡名称各种各样都有。
页:
[1]