[分享]一组基于 WMI 的函数-朱亦文
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


[分享]一组基于 WMI 的函数

发表时间:2009/4/27 14:53:13 评论(2) 浏览(5780)  评论 | 加入收藏 | 复制
   
摘 要:获取主板编号、获取网上MAC地址、获取硬盘型号、获取IP地址
正 文:

'===============================================
'一组基于 WMI 的函数
'作者:朱亦文
'时间:2009.04.27
'===============================================

'获取主板编号
Public Function MainBoardSN() As String
    Dim objs As Object, Obj As Object
   
    Set objs = GetObject("WinMgmts:").InstancesOf("Win32_BaseBoard")
    For Each Obj In objs
        MainBoardSN = MainBoardSN & IIf(MainBoardSN <> "", ";", "") & Obj.SerialNumber
    Next
End Function

'获取网上MAC地址
Public Function NicMAC() As String
    Dim Nics As Object, oIP As Object
   
    Set Nics = GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
    For Each oIP In Nics
        If oIP.IPEnabled = True Then
            NicMAC = NicMAC & IIf(NicMAC <> "", ";", "") & oIP.MacAddress
            Exit For
        End If
    Next
End Function

'获取硬盘型号
Public Function HDModel() As String
    Dim hds As Object, hd As Object
   
    Set hds = GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive")
    For Each hd In hds
        HDModel = HDModel & IIf(HDModel <> "", ";", "") & hd.Model
    Next
End Function

'获取IP地址
Public Function IP() As String
    Dim OpSysSet, OpSys, oIP
   
    Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate}//localhost"). _
        ExecQuery("Select index, IPAddress FROM Win32_NetworkAdapterConfiguration")
    For Each OpSys In OpSysSet
        If TypeName(OpSys.IPAddress) <> "Null" Then
            For Each oIP In OpSys.IPAddress
                IP = IP & IIf(IP <> "", ";", "") & oIP
            Next
        End If
    Next
End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
[分享]一组基于 WMI 的函数  【朱亦文  2009/4/27】
常见问答
技术分类
相关资源
文章搜索
关于作者

朱亦文

文章分类

文章存档

友情链接