分享
 
 
 

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

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

在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

Win32_Keyboard

Represents a keyboard installed on a Windows system.

Win32_PointingDevice

Represents an input device used to point to and select regions on the display of a Windows computer system.

Mass Storage Classes

Classes in the Mass Storage subcategory represent storage devices such as hard disk drives, CD-ROM drives, and tape drives.

Class

Description

Win32_AutochkSetting

Represents the settings for the autocheck operation of a disk.

Win32_CDROMDrive

Represents a CD-ROM drive on a Windows computer system.

Win32_DiskDrive

Represents a physical disk drive as seen by a computer running the Windows operating system.

Win32_FloppyDrive

Manages the capabilities of a floppy disk drive.

Win32_PhysicalMedia

Represents any type of documentation or storage medium.

Win32_TapeDrive

Represents a tape drive on a Windows computer.

Motherboard, Controller, and Port Classes

The Motherboard, Controllers, and Ports subcategory groups classes that represent system devices. Examples include system memory, cache memory, and controllers.

Class

Description

Win32_1394Controller

Represents the capabilities and management of a 1394 controller.

Win32_1394ControllerDevice

Relates the high-speed serial bus (IEEE 1394 Firewire) Controller and the CIM_LogicalDevice instance connected to it.

Win32_AllocatedResource

Relates a logical device to a system resource.

Win32_AssociatedProcessorMemory

Relates a processor and its cache memory.

Win32_BaseBoard

Represents a baseboard (also known as a motherboard or system board).

Win32_BIOS

Represents the attributes of the computer system's basic input/output services (BIOS) that are installed on the computer.

Win32_Bus

Represents a physical bus as seen by a Windows operating system.

Win32_CacheMemory

Represents cache memory (internal and external) on a computer system.

Win32_ControllerHasHub

Represents the hubs downstream from the universal serial bus (USB) controller.

Win32_DeviceBus

Relates a system bus and a logical device using the bus.

Win32_DeviceMemoryAddress

Represents a device memory address on a Windows system.

Win32_DeviceSettings

Relates a logical device and a setting that can be applied to it.

Win32_DMAChannel

Represents a direct memory access (DMA) channel on a Windows computer system.

Win32_FloppyController

Represents the capabilities and management capacity of a floppy disk drive controller.

Win32_IDEController

Represents the capabilities of an Integrated Drive Electronics (IDE) controller device.

Win32_IDEControllerDevice

Association class that relates an IDE controller and the logical device.

Win32_InfraredDevice

Represents the capabilities and management of an infrared device.

Win32_IRQResource

Represents an interrupt request line (IRQ) number on a Windows computer system.

Win32_MemoryArray

Represents the properties of the computer system memory array and mapped addresses.

Win32_MemoryArrayLocation

Relates a logical memory array and the physical memory array upon which it exists.

Win32_MemoryDevice

Represents the properties of a computer system's memory device along with it's associated mapped addresses.

Win32_MemoryDeviceArray

Relates a memory device and the memory array in which it resides.

Win32_MemoryDeviceLocation

Association class that relates a memory device and the physical memory on which it exists.

Win32_MotherboardDevice

Represents a device that contains the central components of the Windows computer system.

Win32_OnBoardDevice

Represents common adapter devices built into the motherboard (system board).

Win32_ParallelPort

Represents the properties of a parallel port on a Windows computer system.

Win32_PCMCIAController

Manages the capabilities of a Personal Computer Memory Card Interface Adapter (PCMCIA) controller device.

Win32_PhysicalMemory

Represents a physical memory device located on a computer as available to the operating system.

Win32_PhysicalMemoryArray

Represents details about the computer system's physical memory.

Win32_PhysicalMemoryLocation

Relates an array of physical memory and its physical memory.

Win32_PNPAllocatedResource

Represents an association between logical devices and system resources.

Win32_PNPDevice

Relates a device (known to Configuration Manager as a PNPEntity), and the function it performs.

Win32_PNPEntity

Represents the properties of a Plug and Play device.

Win32_PortConnector

Represents physical connection ports, such as DB-25 pin male, Centronics, and PS/2.

Win32_PortResource

Represents an I/O port on a Windows computer system.

Win32_Processor

Represents a device capable of interpreting a sequence of machine instructions on a Windows computer system.

Win32_SCSIController

Represents a small computer system interface (SCSI) controller on a Windows system.

Win32_SCSIControllerDevice

Relates a SCSI controller and the logical device (disk drive) connected to it.

Win32_SerialPort

Represents a serial port on a Windows system.

Win32_SerialPortConfiguration

Represents the settings for data transmission on a Windows serial port.

Win32_SerialPortSetting

Relates a serial port and its configuration settings.

Win32_SMBIOSMemory

Represents the capabilities and management of memory-related logical devices.

Win32_SoundDevice

Represents the properties of a sound device on a Windows computer system.

Win32_SystemBIOS

Relates a computer system (including data such as startup properties, time zones, boot configurations, or administrative passwords) and a system BIOS (services, languages, system management properties).

Win32_SystemDriverPNPEntity

Relates a Plug and Play device on the Windows computer system and the driver that supports the Plug and Play device.

Win32_SystemEnclosure

Represents the properties associated with a physical system enclosure.

Win32_SystemMemoryResource

Represents a system memory resource on a Windows system.

Win32_SystemSlot

Represents physical connection points including ports, motherboard slots and peripherals, and proprietary connections points.

Win32_USBController

Manages the capabilities of a universal serial bus (USB) controller.

Win32_USBControllerDevice

Relates a USB controller and the CIM_LogicalDevice instances connected to it.

Win32_USBHub

Represents the management characteristics of a USB hub.

Networking Device Classes

The Networking Devices subcategory groups classes that represent the network interface controller, its configurations, and its settings.

Class

Description

Win32_NetworkAdapter

Represents a network adapter on a Windows system.

Win32_NetworkAdapterConfiguration

Represents the attributes and behaviors of a network adapter. The class is not guaranteed to be supported after the ratification of the Distributed Management Task Force (DMTF) CIM network specification.

Win32_NetworkAdapterSetting

Relates a network adapter and its configuration settings.

Power Classes

The Power subcategory groups classes that represent power supplies, batteries, and events related to these devices.

Class

Description

Win32_AssociatedBattery

Relates a logical device and the battery it is using.

Win32_Battery

Represents a battery connected to the computer system.

Win32_CurrentProbe

Represents the properties of a current monitoring sensor (ammeter).

Win32_PortableBattery

Represents the properties of a portable battery, such as one used for a notebook computer.

Win32_PowerManagementEvent

Represents power management events resulting from power state changes.

Win32_UninterruptiblePowerSupply

Represents the capabilities and management capacity of an uninterruptible power supply (UPS).

Win32_VoltageProbe

Represents the properties of a voltage sensor (electronic voltmeter).

Printing Classes

The Printing subcategory groups classes that represent printers, printer configurations, and print jobs.

Class

Description

Win32_DriverForDevice

Relates a printer to a printer driver.

Win32_Printer

Represents a device connected to a Windows computer system that is capable of reproducing a visual image on a medium.

Win32_PrinterConfiguration

Defines the configuration for a printer device.

Win32_PrinterController

Relates a printer and the local device to which the printer is connected.

Win32_PrinterDriver

Represents the drivers for a Win32_Printer instance.

Win32_PrinterDriverDll

Relates a local printer and its driver file (not the driver itself).

Win32_PrinterSetting

Relates a printer and its configuration settings.

Win32_PrintJob

Represents a print job generated by a Windows application.

Win32_TCPIPPrinterPort

Represents a TCP/IP service access point.

Telephony Classes

The Telephony subcategory groups classes that represent "plain old telephone" modem devices and their associated serial connections.

Class

Description

Win32_POTSModem

Represents the services and characteristics of a Plain Old Telephone Service (POTS) modem on a Windows system.

Win32_POTSModemToSerialPort

Relates a modem and the serial port the modem uses.

Video and Monitor Classes

The Video and Monitors subcategory groups classes that represent monitors, video cards, and their associated settings.

Class

Description

Win32_DesktopMonitor

Represents the type of monitor or display device attached to the computer system.

Win32_DisplayConfiguration

Represents configuration information for the display device on a Windows system. This class is obsolete. In place of this class, use the properties in the Win32_VideoController, Win32_DesktopMonitor, and CIM_VideoControllerResolution classes.

Win32_DisplayControllerConfiguration

Represents the video adapter configuration information of a Windows system. This class is obsolete. In place of this class, use the properties in the Win32_VideoController, Win32_DesktopMonitor, and CIM_VideoControllerResolution classes.

Win32_VideoConfiguration

This class has been eliminated from Windows XP and later; attempts to use it will generate a fatal error. In place of this class, use the properties contained in the Win32_VideoController, Win32_DesktopMonitor, and CIM_VideoControllerResolution classes.

Win32_VideoController

Represents the capabilities and management capacity of the video controller on a Windows computer system.

Win32_VideoSettings

Relates a video controller and video settings that can be applied to it.

而每一个类都有对应的数据结构如

显卡

class Win32_VideoController : CIM_PCVideoController

{

uint16 AcceleratorCapabilities[];

string AdapterCompatibility;

string AdapterDACType;

uint32 AdapterRAM;

uint16 Availability;

string CapabilityDescriptions[];

string Caption;

uint32 ColorTableEntries;

uint32 ConfigManagerErrorCode;

boolean ConfigManagerUserConfig;

string CreationClassName;

uint32 CurrentBitsPerPixel;

uint32 CurrentHorizontalResolution;

uint64 CurrentNumberOfColors;

uint32 CurrentNumberOfColumns;

uint32 CurrentNumberOfRows;

uint32 CurrentRefreshRate;

uint16 CurrentScanMode;

uint32 CurrentVerticalResolution;

string Description;

string DeviceID;

uint32 DeviceSpecificPens;

uint32 DitherType;

datetime DriverDate;

string DriverVersion;

boolean ErrorCleared;

string ErrorDescription;

uint32 ICMIntent;

uint32 ICMMethod;

string InfFilename;

string InfSection;

datetime InstallDate;

string InstalledDisplayDrivers;

uint32 LastErrorCode;

uint32 MaxMemorySupported;

uint32 MaxNumberControlled;

uint32 MaxRefreshRate;

uint32 MinRefreshRate;

boolean Monochrome;

string Name;

uint16 NumberOfColorPlanes;

uint32 NumberOfVideoPages;

string PNPDeviceID;

uint16 PowerManagementCapabilities[];

boolean PowerManagementSupported;

uint16 ProtocolSupported;

uint32 ReservedSystemPaletteEntries;

uint32 SpecificationVersion;

string Status;

uint16 StatusInfo;

string SystemCreationClassName;

string SystemName;

uint32 SystemPaletteEntries;

datetime TimeOfLastReset;

uint16 VideoArchitecture;

uint16 VideoMemoryType;

uint16 VideoMode;

string VideoModeDescription;

string VideoProcessor;

};

声卡等

class Win32_SoundDevice : CIM_LogicalDevice

{

uint16 Availability;

string Caption;

uint32 ConfigManagerErrorCode;

boolean ConfigManagerUserConfig;

string CreationClassName;

string Description;

string DeviceID;

uint16 DMABufferSize;

boolean ErrorCleared;

string ErrorDescription;

datetime InstallDate;

uint32 LastErrorCode;

string Manufacturer;

uint32 MPU401Address;

string Name;

string PNPDeviceID;

uint16 PowerManagementCapabilities[];

boolean PowerManagementSupported;

string ProductName;

string Status;

uint16 StatusInfo;

string SystemCreationClassName;

string SystemName;

};

class Win32_PrintJob : CIM_Job

{

string Caption;

string DataType;

string Description;

string Document;

string DriverName;

datetime ElapsedTime;

string HostPrintQueue;

datetime InstallDate;

uint32 JobId;

string JobStatus;

string Name;

string Notify;

string Owner;

uint32 PagesPrinted;

string Parameters;

string PrintProcessor;

uint32 Priority;

uint32 Size;

datetime StartTime;

string Status;

uint32 StatusMask;

datetime TimeSubmitted;

uint32 TotalPages;

datetime UntilTime;

};

Set wmiObjSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _

InstancesOf("Win32_PrintJob")

可以获得打印任务列表等信息

对于VB来讲获得系统硬件和软件信息大都使用API,现在使用WMI可以快速的实现我们的目标.如获取驱动器/显卡/共享信息等等都会变得方便和有效

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有