VB中使用WMI获取系统硬件和软件有关信息

本文介绍了如何在VB中利用WMI(Windows Management Instrumentation)获取包括显卡、声卡、内存和操作系统在内的系统硬件和软件信息。通过示例代码展示了如何查询Win32_SoundDevice、Win32_VideoController和Win32_PhysicalMemory等类,以获取设备的详细属性。
摘要由CSDN通过智能技术生成

在VB中使用WMI获取系统硬件和软件有关信息

简介:

      WMI是英文Windows Management
      Instrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够的权限),比如:重启,关机,关闭进程,创建进程等。

实例如下:

'用WMI,先工程-引用 Microsoft WMI Scripting V1.1 Library

    获取显卡/声卡/内存/操作系统的信息

   声卡信息

Private Sub wmiSoundDeviceInfo()

   Dim wmiObjSet As SWbemObjectSet
   Dim obj As SWbemObject
  
   Set wmiObjSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
                          InstancesOf("Win32_SoundDevice")
   On Local Error Resume Next
  
   For Each obj In wmiObjSet
      MsgBox obj.ProductName
   Next
End Sub

 

显卡信息

Private Sub wmiVideoControllerInfo()

   Dim wmiObjSet As SWbemObjectSet
   Dim obj As SWbemObject
  
   Set wmiObjSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
                          InstancesOf("Win32_VideoController")
  
   On Local Error Resume Next
  
   For Each obj In wmiObjSet
      MsgBox obj.VideoProcessor
   Next
End Sub

内存信息

Private Sub wmiPhysicalMemoryInfo()

   Dim wmiObjSet As SWbemObjectSet
   Dim obj As SWbemObject
  
   Set wmiObjSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _
                          InstancesOf("Win32_PhysicalMemory")
  
   On Local Error Resume Next
  
   For Each objItem In wmiObjSet
        Debug.Print "BankLabel: " & objItem.BankLabel
        Debug.Print "Capacity: " & objItem.Capacity
        Debug.Print "Caption: " & objItem.Caption
        Debug.Print "CreationClassName: " & objItem.CreationClassName
        Debug.Print "DataWidth: " & objItem.DataWidth
        Debug.Print "Description: " & objItem.Description
        Debug.Print "DeviceLocator: " & objItem.DeviceLocator
        Debug.Print "FormFactor: " & objItem.FormFactor
        Debug.Print "HotSwappable: " & objItem.HotSwappable
        Debug.Print "InstallDate: " & objItem.InstallDate
        Debug.Print "InterleaveDataDepth: " & objItem.InterleaveDataDepth
        Debug.Print "InterleavePosition: " & objItem.InterleavePosition
        Debug.Print "Manufacturer: " & objItem.Manufacturer
        Debug.Print "MemoryType: " & objItem.MemoryType
        Debug.Print "Model: " & objItem.Model
        Debug.Print "Name: " & objItem.name
        Debug.Print "OtherIdentifyingInfo: " & objItem.OtherIdentifyingInfo
        Debug.Print "PartNumber: " & objItem.PartNumber
        Debug.Print "PositionInRow: " & objItem.PositionInRow
        Debug.Print "PoweredOn: " & objItem.PoweredOn
        Debug.Print "Removable: " & objItem.Removable
        Debug.Print "Replaceable: " & objItem.Replaceable
        Debug.Print "SerialNumber: " & objItem.SerialNumber
        Debug.Print "SKU: " & objItem.SKU
        Debug.Print "Speed: " & objItem.Speed
        Debug.Print "Status: " & objItem.Status
        Debug.Print "Tag: " & objItem.Tag
        Debug.Print "TotalWidth: " & objItem.TotalWidth
        Debug.Print "TypeDetail: " & objItem.TypeDetail
        Debug.Print "Version: " & objItem.Version
   Next
End Sub

操作系统信息

Private Sub Command1_Click()
    Dim wmiObjSet As SWbemObjectSet
    Dim obj As SWbemObject
    Dim msg As String
    Dim dtb As String
    Dim d As String
    Dim t As String
    Dim bias As Long
    On Local Error Resume Next
    Set wmiObjSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_OperatingSystem")
    For Each obj In wmiObjSet
        MsgBox "你当前使用的系统是 " & obj.Caption
    Next
End Sub

说明:

大家可能会发现一个规律,实际上WMI对信息的提取都是使用了WIN32_类库名这样的规律,下列表格就是微软的操作系统各种硬件类的描述

其它WMI管理的类的信息在

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/accessing_hardware_and_software_through_wmi.asp

可以找到,其中也还有部分示例代码

简单Win_32类表

Win32 Classes

Microsoft® Windows® classes give you the means to manipulate a variety of objects. The following table identifies the categories of Windows classes.

Category Description
Computer system hardware Classes that represent hardware related objects.
Operating system Classes that represent operating system related objects.
Installed applications Classes that represent software related objects.
WMI service management Classes used to manage WMI.
Performance counters

Classes that represent formatted and raw performance data.

 

 

硬件类

Computer System Hardware Classes

he Cooling Devices subcategory groups classes that represent instrumentable fans, temperature probes, and refrigeration devices.

Class Description
Win32_Fan Represents the properties of a fan device in the computer system.
Win32_HeatPipe Represents the properties of a heat pipe cooling device.
Win32_Refrigeration Represents the properties of a refrigeration device.
Win32_TemperatureProbe Represents the properties of a temperature sensor (electronic thermometer).

Input Device Classes

The Input Devices subcategory groups classes that represent keyboards and pointing devices.

Class Description
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值