|
|
发表于 2010-12-17 21:46:24
|
显示全部楼层
本帖最后由 yhxhappy 于 2010-12-17 21:48 编辑
你的代码在我的笔记本上一个网上都找不到了,我只好做了一个数组演示
- #include <GUIConstantsEx.au3>
- #include <ButtonConstants.au3>
- #include <ComboConstants.au3>
- Local $test, $iNICIndex
- ;Local $test = _UpCmpLanNameIDInfo()
- Local $test[5][2]
- $test[0][0] = 4
- $test[2][1] = "网卡1"
- $test[3][1] = "网卡2"
- $test[4][1] = "网卡3"
- ; 创建“网卡选择”窗口
- Local $hNICWnd, $hOKButton, $hIfTable, $txt = ""
- $hNICWnd = GUICreate("测试" & " - 网卡选择", 404, 118)
- GUICtrlCreateLabel("检测到本机安装有多个网络适配器,请选择用于更新的网卡。", 16, 16, 340, 24)
- $hIfTable = GUICtrlCreateCombo("", 16, 48, 372, 12, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
- For $i = 2 To $test[0][0]
- $txt &= $test[$i][1] & "|"
- Next
- If $txt <> "" then GUICtrlSetData($hIfTable, $txt, $test[$test[0][0]][1]) ;此处的 $test[$test[0][0]][1] 表示默认选中最后一项,如果想默认选中第一项,则使用 $test[2][1]
- $hOKButton = GUICtrlCreateButton("确定(&O)", 165, 80, 76, 22, $BS_DEFPUSHBUTTON)
- ; 窗口事件
- GUISetState(@SW_SHOW)
- While 1
- Switch GUIGetMsg()
- Case $hOKButton, $GUI_EVENT_CLOSE
- $iNICIndex = GUICtrlRead($hIfTable)
- MsgBox(0, 0, $iNICIndex)
- ExitLoop
- EndSwitch
- WEnd
- Func _UpCmpLanNameIDInfo()
- ;======================================================
- ;
- ; 函数名称: _UpCmpLanNameIDInfo()
- ; 详细信息: 获取系统所有网卡名称和ID信息
- ; 返回值说明:
- ; 以二维数组方式返回.例如 $info=_UpCmpLanNameIDInfo()
- ; $info[1][0] 第一块网卡的名称
- ; $info[2][0] 第二块网卡的名称
- ; $info[1][1] 第一块网卡的ID
- ; $info[2][1] 第二块网卡的ID
- ; 其他网卡信息依次类推。。。
- ; 作者: viplight (viplight@qq.com)
- ; QQ: 530417369
- ;======================================================
- Local $colItems = ""
- Local $strComputer = "localhost"
- Local $objWMIService
- Local $wbemFlagReturnImmediately = 0x10
- Local $wbemFlagForwardOnly = 0x20
- Local $UpCmprAdapterID = 0
- Local $UpCmprAdapterHostName = ""
- Local $UpCmpLanNameID[10][2]
- $UpCmpLanNameID[0][0] = 0
- $objWMIService = ObjGet("winmgmts:\" & $strComputer & "\root\CIMV2")
- $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_TSNetworkAdapterListSetting", "WQL", _
- $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
- If IsObj($colItems) Then
- For $objItem In $colItems
- $UpCmpLan = $objItem.Description
- $UpCmpID = $objItem.NetworkAdapterID
- $UpCmprAdapterID += 1
- $UpCmpLanNameID[0][0] = $UpCmprAdapterID
- $UpCmpLanNameID[$UpCmprAdapterID][0] = $UpCmpLan
- $UpCmpLanNameID[$UpCmprAdapterID][1] = $UpCmpID
- Next
- EndIf
- Return $UpCmpLanNameID
- EndFunc ;==>_UpCmpLanNameIDInfo
复制代码 |
评分
-
查看全部评分
|