设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2243|回复: 4
打印 上一主题 下一主题

[模块/函数] 利用GetObject("WinMgmts:")获取系统信息-CPU 硬盘 网卡 显卡等

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2015-9-3 09:27:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用GetObject("WinMgmts:")获取系统信息
一、用WMI对象列出系统所有进程:
----Instance.vbs----
程序代码
Dim WMI,objs
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_Process")
For Each obj In objs
Enum1 = Enum1 + obj.Description + Chr(13) + Chr(10)
Next
msgbox Enum1


二、获得物理内存的容量:
-----physicalMemory.vbs-----
程序代码
strComputer = "."

Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")

For Each wbemObject In wbemObjectSet
WScript.Echo "物理内存 (MB): " & CInt(wbemObject.TotalPhysicalMemory/1024)
Next


三、取得系统所有服务及运行状态
----service.vbs----
程序代码
Set ServiceSet = GetObject("winmgmts:").InstancesOf("Win32_Service")
Dim s,infor
infor=""
for each s in ServiceSet
infor=infor+s.Description+" ==> "+s.State+chr(13)+chr(10)
next
msgbox infor

四、用WMI对象列出系统所有进程:
----Instance.vbs----
程序代码
Dim WMI,objs
Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_Process")
For Each obj In objs
Enum1 = Enum1 + obj.Description + Chr(13) + Chr(10)
Next
msgbox Enum1


五、获得物理内存的容量:
-----physicalMemory.vbs-----
程序代码
strComputer = "."

Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")

For Each wbemObject In wbemObjectSet
WScript.Echo "物理内存 (MB): " & CInt(wbemObject.TotalPhysicalMemory/1024)
Next


六、取得系统所有服务及运行状态
----service.vbs----
程序代码
Set ServiceSet = GetObject("winmgmts:").InstancesOf("Win32_Service")
Dim s,infor
infor=""
for each s in ServiceSet
infor=infor+s.Description+" ==> "+s.State+chr(13)+chr(10)
next
msgbox infor


七、CPU的序列号:
---CPUID.vbs---
程序代码
Dim cpuInfo
cpuInfo = ""
set moc = GetObject("Winmgmts:").InstancesOf("Win32_Processor")
for each mo in moc
cpuInfo = CStr(mo.ProcessorId)
msgbox "CPU SerialNumber is : " & cpuInfo
next


硬盘型号:
---HDID.vbs---
程序代码
Dim HDid,moc
set moc =GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive")
for each mo in moc
HDid = mo.Model
msgbox "硬盘型号为:" & HDid
next


八、网卡MAC物理地址:
---MACAddress.vbs---
程序代码
Dim mc
set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
for each mo in mc
if mo.IPEnabled=true then
msgbox "网卡MAC地址是: " & mo.MacAddress
exit for
end if
next


九、测试你的显卡:
程序代码
On Error Resume Next
Dim ye
Dim yexj00
set yexj00=GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_VideoController")
for each ye in yexj00
msgbox " 型 号: " & ye.VideoProcessor & vbCrLf & " 厂 商: " & ye.AdapterCompatibility & vbCrLf & " 名 称: " & ye.Name & vbCrLf & " 状 态: " & ye.Status & vbCrLf & " 显 存: " & (ye.AdapterRAM\1024000) & "MB" & vbCrLf & "驱 动 (dll): " & ye.InstalledDisplayDrivers & vbCrLf & "驱 动 (inf): " & ye.infFilename & vbCrLf & " 版 本: " & ye.DriverVersion
next




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2015-9-3 09:50:01 | 只看该作者
谢谢分享
回复

使用道具 举报

点击这里给我发消息

3#
发表于 2015-9-21 07:34:58 | 只看该作者
good
回复

使用道具 举报

4#
发表于 2015-9-29 11:18:35 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
发表于 2023-2-22 19:33:41 来自手机 | 只看该作者
谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 08:27 , Processed in 0.104374 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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