找回密码
 加入
搜索
查看: 4000|回复: 9

[AU3基础] 如何判断网卡已禁用?[已解决]

  [复制链接]
发表于 2011-5-1 10:43:16 | 显示全部楼层 |阅读模式
本帖最后由 gzguolei 于 2011-5-5 16:44 编辑

我是个新手,请教如何判断网卡已禁用,如已禁用就启用。谢谢!
发表于 2011-5-1 13:59:03 | 显示全部楼层
本帖最后由 飘云 于 2011-5-1 16:04 编辑

用api函数GetIfEntry来获取网卡信息到MIB_IFROW结构中,然后MIB_IFROW结构中的dwAdminStatus项即网卡状态,1启用,2禁用,最后一项bDescr是描述网卡的,便于用户识别网卡。

大概的写了下,我这段代码的前提是需要用户知道网卡名,当然也可以通过遍历网络连接然后让用户选择


Dim $a=1,$network="Broadcom 802.11g Network Adapter"
$MIB_IFROW = DllStructCreate("wchar wszName[256];dword dwIndex;dword dwType;dword dwMtu;dword dwSpeed;dword dwPhysAddrLen;char bPhysAddr[8];dword dwAdminStatus;dword dwOperStatus;dword dwLastChange;dword dwInOctets;dword dwInUcastPkts;dword dwInNUcastPkts;dword dwInDiscards;dword dwInErrors;dword dwInUnknownProtos;dword dwOutOctets;dword dwOutUcastPkts;dword dwOutNUcastPkts;dword dwOutDiscards;dword dwOutErrors;dword dwOutQLen;dword dwDescrLen;char bDescr[256]")
While 1
        DllStructSetData($MIB_IFROW, "dwIndex", $a);第三个参数是指定想要检测的网卡序号给dwIndex元素
        DllCall("iphlpapi.dll", "dword", "GetIfEntry", "ptr", DllStructGetPtr($MIB_IFROW));调用GetIfEntry将此指定网卡的信息写入数据结构$MIB_IFROW中
        If DllStructGetData($MIB_IFROW,"bDescr")=$network Or $a>200 Then ExitLoop
        $a+=1
WEnd
If $a>200 Then
        MsgBox(0,"","未发现网卡【"&$network&"】")
ElseIf DllStructGetData($MIB_IFROW,"dwAdminStatus")=1 Then
        MsgBox(0,"","网卡【"&$network&"】已启用")
ElseIf DllStructGetData($MIB_IFROW,"dwAdminStatus")=2 Then
        MsgBox(0,"","网卡【"&$network&"】已禁用")
EndIf

评分

参与人数 1金钱 +10 收起 理由
love5173 + 10 很好

查看全部评分

发表于 2011-5-2 08:12:03 | 显示全部楼层
留下备用,飘云很给力
 楼主| 发表于 2011-5-3 23:49:30 | 显示全部楼层
非常感谢帮助,参照您的方法已解决了.顺便问下,如何改为“已解决”?
发表于 2011-5-4 19:52:15 | 显示全部楼层
同学,麻烦请在标题后面加上(已解决)。
发表于 2011-6-10 05:02:33 | 显示全部楼层
真不错,谢谢
发表于 2011-9-26 16:23:38 | 显示全部楼层
留下备用 以后学习
发表于 2011-9-26 17:00:09 | 显示全部楼层
不知道怎么用,看着有用。收下。
发表于 2012-2-29 19:15:52 | 显示全部楼层
多谢,这个有用
发表于 2012-3-3 09:07:02 | 显示全部楼层
会用 到先留下来学习,谢了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-30 19:35 , Processed in 0.080189 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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