WMI(Windows®Management Instrumentation ) 非常强大,它可以以数据库的形式查询你的电脑的软件和硬件,在它的数据库里面,时刻保存着最新的软件信息和硬件信息,因此你可以用WMI来检测CUP主频、温度,读取WINDOWS的进程.........
本文就介绍如何使用WMI读取USB设备的PID和VID码
procedure TForm1.Button2Click(Sender: TObject);
var
Locator: OleVariant;
WMI: OleVariant;
RET: OleVariant;
Enum: IEnumVariant;
Tmp: OleVariant;
Value: Cardinal;
begin;
Locator := CreateOleObject('WbemScripting.SWbemLocator');
WMI := Locator.ConnectServer('.', '', '', '');
Ret := WMI.ExecQuery('SELECT * FROM Win32_USBHub');//这里Win32_USBHub为检测项,详见下表
Enum:= IUnknown(RET._NewEnum) as IEnumVariant;
while (Enum.Next(1, Tmp, Value) = S_OK) do
begin
ShowMessage(Tmp.PNPDeviceID);//Tmp为检测到返回的数据集合,其中PNPDeviceID为集合中的对象,包含了PID和VID码
end;
end;
Win32_USBHub只是冰山一角,常用的还有以下
"Win32_1394Controller" ,
"Win32_BaseBoard" ,
"Win32_Battery" ,
"Win32_BIOS" ,
"Win32_Bus" ,
"Win32_CacheMemory" ,
"Win32_CDROMDrive" ,
"Win32_CurrentProbe" ,
"Win32_DesktopMonitor" ,
"Win32_DeviceMemoryAddress" ,
"Win32_DiskDrive" ,
"Win32_DisplayConfiguration" ,
"Win32_DisplayControllerConfiguration",
"Win32_DMAChannel" ,
"Win32_Fan" ,
"Win32_FloppyController" ,
"Win32_FloppyDrive" ,
"Win32_HeatPipe" ,
"Win32_IDEController" ,
"Win32_InfraredDevice" ,
"Win32_IRQResource" ,
"Win32_Keyboard" ,
"Win32_MemoryArray" ,
"Win32_MemoryDevice" ,
"Win32_MotherboardDevice" ,
"Win32_NetworkAdapter" ,
"Win32_NetworkAdapterConfiguration" ,
"Win32_OnBoardDevice" ,
"Win32_ParallelPort" ,
"Win32_PCMCIAController" ,
"Win32_PhysicalMemory" ,
"Win32_PhysicalMemoryArray" ,
"Win32_PnPEntity" ,
"Win32_PointingDevice" ,
"Win32_PortableBattery" ,
"Win32_PortConnector" ,
"Win32_PortResource" ,
"Win32_POTSModem" ,
"Win32_PowerManagementEvent" ,
"Win32_Printer" ,
"Win32_PrinterConfiguration" ,
"Win32_PrintJob" ,
"Win32_Processor" ,
"Win32_Refrigeration" ,
"Win32_SerialPort" ,
"Win32_SerialPortConfiguration" ,
"Win32_SMBIOSMemory" ,
"Win32_SoundDevice" ,
"Win32_SystemEnclosure" ,
"Win32_SystemMemoryResource" ,
"Win32_SystemSlot" ,
"Win32_TapeDrive" ,
"Win32_TemperatureProbe" ,
"Win32_UninterruptiblePowerSupply" ,
"Win32_USBController" ,
"Win32_VideoConfiguration" ,
"Win32_VideoController" ,
"Win32_VoltageProbe" ,
分享到:
相关推荐
开发环境:Visual Studio V2010 .NET Framework 4 Client ...namespace Splash.IO.PORTS{/// <summary>/// 即插即用设备信息结构/// </summary>public struct PnPEntityInfo{public String PNPDeviceID; // 设备I
MSDN中指出Netsh命令将在后续的版本中废止,今后对系统信息的操作将倾向于WMI(Windows管理工具)因此把我工作中用到的模块做了相应的改动,并分享给大家。程序中使用了AlphaControls控件,如要编译运行,可到我的...
通过windows 的WMI接口获取系统杀毒软件名称和实时监控的状态,完整delphi7源码实例.
不管是从服务客户角度(难道不允许客户换电脑吗), 还是从代码效率(我看就WMI稳定些, 但是这东西初始化速度很慢), 我觉得都没太大用处 2. 运行环境变化 Win64位环境下, WMI可能还有用, 但需要调整哪里, 我没有去研究,...
该项目采用wmi技术开发,界面采用WPF技术
详细演示了C++调用WMI遍历进程的整个过程,有详细注释,代码可以直接复用。
delphi操控wmi的简单应,强大的WMI功能说不完
输入设备类别 Win32_Keyboard--键盘 Win32_PointingDevice--指示设备(如鼠标) 大容量存储类别 Win32_AutochkSetting--磁盘自动检查操作设置 Win32_CDROMDrive--光盘驱动器 Win32_DiskDrive--硬盘驱动器 ...
wmi纯java调用所需jar包.zip
Visual C++源代码 84 如何使用WMI查询声音设备信息Visual C++源代码 84 如何使用WMI查询声音设备信息Visual C++源代码 84 如何使用WMI查询声音设备信息Visual C++源代码 84 如何使用WMI查询声音设备信息Visual C++源...
该项目采用wmi技术开发 该项目采用wmi技术开发 该项目采用wmi技术开发 该项目采用wmi技术开发 该项目采用wmi技术开发 该项目采用wmi技术开发 该项目采用wmi技术开发 该项目采用wmi技术开发
C#监控usb设备插入和拔出,设置指定的id.可以时时监控usb是插入
delphi7下编写的利用wmi获取硬盘序列号、分区等信息的工具
delphi操作WMI获取大量系统信息的例子 登录用户桌面、共享、系统日志、远程桌面连接设置、账户策略等
VB编程 WMI 读取PC系统信息,MAC地址,IP地址,主机名,硬盘序列号
WMI Delphi Code Creator
如何使用WMI查询驱动设备信息编程小程序,C++.net源代码编写,VisualStudio.net
WMI读取计算机所有信息,以及dos命令使用并获取显示dos信息。
电脑硬件信息 硬盘 CD-ROM USB 添加自己的属性 用C#和WMI获取逻辑驱动器详细信息 获取磁盘信息的API函数来分别获取像卷标、序列号以及剩余空间等信息 .Net框架System.Management 命名空间的相关类和WMI编程