dearmb 发表于 2014-5-6 09:11:22

禁用启用网卡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……

zch11230 发表于 2014-5-6 14:51:43

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

dearmb 发表于 2014-5-6 16:14:58

修改为“本地连接”解决

joyran 发表于 2014-5-6 21:36:45

不错,顶楼主...

weeks1 发表于 2014-5-7 06:54:53

回复 3# dearmb

请楼主贴出解决的完整代码以供学习谢谢了

lin6051 发表于 2014-5-7 08:28:42

不错 ,学习了

dearmb 发表于 2014-5-7 08:37:24

把二楼的代码中间的VirtualBox Host-Only Network替换成自己想要关闭的网卡就可以了啊
一般是“本地连接”,你自己的就不知道了
二楼可能是用VBOX做的,所以是虚拟机网卡

dearmb 发表于 2014-5-7 08:39:27

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分钟后自动恢复

gujifly 发表于 2015-9-9 15:38:31

顶一个,不收费什么的最爱了。

xsm1974 发表于 2016-10-13 14:20:02

正需要啊,感谢分享。

zhaoceshi 发表于 2018-7-23 10:23:24

如果网卡名称不叫本地连接怎么处理?我这边的网卡名称各种各样都有。
页: [1]
查看完整版本: 禁用启用网卡vbs改成au3格式(已解决)