找回密码
 加入
搜索
查看: 6654|回复: 10

[AU3基础] 禁用启用网卡vbs改成au3格式(已解决)

  [复制链接]
发表于 2014-5-6 09:11:22 | 显示全部楼层 |阅读模式
本帖最后由 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……
发表于 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
 楼主| 发表于 2014-5-6 16:14:58 | 显示全部楼层
修改为“本地连接”解决
发表于 2014-5-6 21:36:45 | 显示全部楼层
不错,顶楼主...
发表于 2014-5-7 06:54:53 | 显示全部楼层
回复 3# dearmb

请楼主贴出解决的完整代码以供学习谢谢了
发表于 2014-5-7 08:28:42 | 显示全部楼层
不错 ,学习了
 楼主| 发表于 2014-5-7 08:37:24 | 显示全部楼层
把二楼的代码中间的VirtualBox Host-Only Network替换成自己想要关闭的网卡就可以了啊
一般是“本地连接”,你自己的就不知道了
二楼可能是用VBOX做的,所以是虚拟机网卡
 楼主| 发表于 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分钟后自动恢复
发表于 2015-9-9 15:38:31 | 显示全部楼层
顶一个,不收费什么的最爱了。
发表于 2016-10-13 14:20:02 | 显示全部楼层
正需要啊,感谢分享。
发表于 2018-7-23 10:23:24 | 显示全部楼层
如果网卡名称不叫本地连接怎么处理?我这边的网卡名称各种各样都有。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-14 20:10 , Processed in 0.074834 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表