vbs脚本高手请进!如何用vbs脚本获得本机硬件信息?

以下代码可成功获取硬件信息,只是有些我想要的信息没有包含在里面,所以想请高手帮我加进去。【想增加的内容:IP地址、MAC地址、显示器名称,最好能有硬盘容量、显示器尺寸】因... 以下代码可成功获取硬件信息,只是有些我想要的信息没有包含在里面,所以想请高手帮我加进去。
【想增加的内容:IP地址、MAC地址、显示器名称,最好能有硬盘容量、显示器尺寸】
因为这里限制文字数量,所以代码链接到百度空间去了。

代码:http://hi.baidu.com/kevinpj/item/2df9ca172f2c5715e2f98635

附图为得到的结果:
展开
 我来答
windblast
推荐于2016-10-30 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

试编写代码如下:

On Error Resume Next
Temp = 0
Set WSHNetwork = WScript.CreateObject("WScript.Network")
ComputerName = WSHNetwork.ComputerName
TempFiles = "D:\vbs\" & ComputerName &".txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFile = FSO.CreateTextFile(TempFiles)
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set CPU = objWMIService.ExecQuery("Select * From Win32_Processor")
For Each Item In CPU
CPU2 = "CPU:" & Item.Name
Next
Set Board = objWMIService.ExecQuery("Select * From Win32_BaseBoard")
For Each Item In Board
Board2 = "主板: " & Item.Product
Next
Set colItems = objWMIService.ExecQuery("Select * From Win32_PhysicalMemory",,48)
For Each objItem In colItems
A = objItem.Capacity/1048576
Temp = temp+objItem.Capacity
N = N+1
Next
Memory = Temp/1048576
If N = 1 Then
Memory2 = "内存: " & N & "条" & A & "M"
Else
Memory2 = "内存: " & N & "条" & A & "M" &" 总计" & Memory & "M"
End If
Set Video = objWMIService.ExecQuery("Select * From Win32_VideoController",,48)
For Each Item In Video
Video2 = "显卡: " & Item.Description
Video3 = "分辨率: " & Item.VideoModeDescription
Next
Set VideoA = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor",,48)
For Each Item In VideoA
VideoA = "显示器名称: " & Item.Description
VideoB = "屏幕高度: " & Item.ScreenHeight & "   屏幕宽度: " & Item.ScreenWidth
Next
Set Disk = objWMIService.ExecQuery("Select * From Win32_DiskDrive")
For Each Item In Disk
Disk2 = Disk2 & Item.Model
Disk4 = Int(Item.Size/1000/1000/1000) & "G"
Next
Disk3 = "硬盘: " & Trim(Disk2)
Disk5 = "硬盘容量: " & Disk4
Set Network = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each Item In Network
Lan = "网卡: " & Item.Description
IP = "IP地址: " & Item.IPAddress(0)
MacAdd = "MAC地址:" & Item.MACAddress
Next

TempFile.WriteLine(CPU2)
TempFile.WriteLine(Board2)
TempFile.WriteLine(Memory2)
TempFile.WriteLine(Video2)
TempFile.WriteLine(Video3)
TempFile.WriteLine(VideoA)
TempFile.WriteLine(VideoB)
TempFile.WriteLine(Disk3)
TempFile.WriteLine(Disk5)
TempFile.WriteLine(Lan)
TempFile.WriteLine(Ip)
TempFile.WriteLine(MacAdd)
TempFile.Close
更多追问追答
追问
你好,非常感谢!
试了一下,蛮理想的,IP和MAC成功搞定,因为这两个是我最想要的。
还有些小问题,能解决是最好的啦!!!
1、硬盘容量大小没能正确获取,只有单位,没有数字,结果中显示为:硬盘容量: G;
2、显示器名称,这个其实我想要的是显示器的牌子,怪我没说清楚,结果中显示为:显示器名称: 默认监视器;
3、屏幕尺寸,这个其实我想要的是多少英寸,比如:19",22“
追答
  1. 硬盘的容量不能正确获取


    经测试,我这边两台机子都能正确获取,不知道你的电脑为什么不能正确运行,你电脑有多个硬盘?


  2. 显示器名称和屏幕尺寸


        上面的代码,其原理是从WMI中获取系统信息,这些数据与你用“系统管理器”程序所看到的数据

        是一样的。


        如果想要获取更详细的数据,你需要借助其他专业软件来获取资料,比如:鲁大师等。如果需             要,你可以先借助这些软件生成数据,再从其中摘取所需的数据。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式