'============================'函数名称: GetNICInfo'功能描述: 返回由指定分隔符分隔的未被禁用的网卡MAC地址或IP地址,具体的返回内容由Index参数确定。'输入参数: Index 必需的,要返回的信息(0返回MAC地址,1返回IPV4地址,2返回IPV6地址。' Delimiter 可选的,存在多个网卡(可能是物理的或虚拟的)时,返回信息的分隔字符'返回参数: 返回所有被启用网卡的信息(如果有多个网卡,则由指定分隔符分隔)' 没有网卡或网卡全部被禁用时返回空字符串("")'使用示例: =GetNICInfo(1) '返回示例:192.168.1.100'相关调用:'使用注意:'兼 容 性: 使用win32_NetworkAdapterConfiguration类实现,XP和Win7操作系统测试通过'参考资料:'作 者: 红尘如烟'创建日期: 2010-8-7'============================

Public Function GetNICInfo(ByVal Index As Integer, Optional ByVal Delimiter As String = vbCrLf) As StringOn Error GoTo ErrorHandlerDim objWMIService As ObjectDim objItems As ObjectDim objItem As ObjectDim strTemp As String

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")strTemp = "Select * FROM win32_NetworkAdapterConfiguration Where IPEnabled=True"Set objItems = objWMIService.ExecQuery(strTemp)strTemp = ""For Each objItem In objItemsSelect Case IndexCase 0 'MAC地址strTemp = objItem.MACAddressCase 1 'IPV4地址strTemp = objItem.IPAddress(0)Case 2 'IPV6地址strTemp = objItem.IPAddress(1)End SelectIf GetNICInfo <> "" And strTemp <> "" Then GetNICInfo = GetNICInfo & DelimiterGetNICInfo = GetNICInfo & strTempNext ExitHere:Set objWMIService = NothingSet objItems = NothingSet objItem = NothingExit Function ErrorHandler:' MsgBox Err.Description, vbCritical, "Error"Resume ExitHereEnd Function

演 示:

通过ip获取mac地址(获取网卡MAC地址或IP地址的通用函数)(1)

源码示例下载:

【access源码】一个用于获取网卡MAC地址或IP地址的通用函数\获取本机内网IP的示例【Access软件网】

,