'============================
'函數(shù)名稱: GetNICInfo
'功能描述: 返回由指定分隔符分隔的未被禁用的網(wǎng)卡mac地址或IP地址,具體的返回內(nèi)容由Index參數(shù)確定。
'輸入?yún)?shù): Index 必需的,要返回的信息(0返回MAC地址,1返回IPV4地址,2返回IPV6地址。
' Delimiter 可選的,存在多個(gè)網(wǎng)卡(可能是物理的或虛擬的)時(shí),返回信息的分隔字符
'返回參數(shù): 返回所有被啟用網(wǎng)卡的信息(如果有多個(gè)網(wǎng)卡,則由指定分隔符分隔)
' 沒有網(wǎng)卡或網(wǎng)卡全部被禁用時(shí)返回空字符串("")
'使用示例: =GetNICInfo(1) '返回示例:192.168.1.100
'相關(guān)調(diào)用:
'使用注意:
'兼 容 性: 使用
win32_NetworkAdapterConfiguration類實(shí)現(xiàn),XP和Win7操作系統(tǒng)測(cè)試通過
'參考資料:
'作 者: 紅塵如煙
'創(chuàng)建日期: 2010-8-7
'============================
Public Function GetNICInfo(ByVal Index As Integer, Optional ByVal Delimiter As String = vbCrLf) As String
On Error GoTo ErrorHandler
Dim objWMIService As Object
Dim objItems As Object
Dim objItem As Object
Dim strTemp As String
Set objWMIService = GetObject("winmgmts:\.rootcimv2")
strTemp = "Select * FROM
win32_NetworkAdapterConfiguration Where IPEnabled=True"
Set objItems = objWMIService.ExecQuery(strTemp)
strTemp = ""
For Each objItem In objItems
Select Case Index
Case 0 'MAC地址
strTemp = objItem.MACAddress
Case 1 'IPV4地址
strTemp = objItem.IPAddress(0)
Case 2 'IPV6地址
strTemp = objItem.IPAddress(1)
End Select
If GetNICInfo <> "" And strTemp <> "" Then GetNICInfo = GetNICInfo & Delimiter
GetNICInfo = GetNICInfo & strTemp
Next
ExitHere:
Set objWMIService = Nothing
Set objItems = Nothing
Set objItem = Nothing
Exit Function
ErrorHandler:
' MsgBox Err.Description, vbCritical, "Error"
Resume ExitHere
End Function
演 示:
源碼示例下載:
【access源碼】一個(gè)用于獲取網(wǎng)卡MAC地址或IP地址的通用函數(shù)獲取本機(jī)內(nèi)網(wǎng)IP的示例【Access軟件網(wǎng)】