在Delphi调用WMI读取USB设备的PID和VID计算机二级考试

文章作者 100test 发表时间 2009:05:22 12:00:35
来源 100Test.Com百考试题网


  2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库
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\" ,

相关文章


计算机二级DELPHI设置DBGridEh自动排序方法计算机二级考试
计算机二级DELPHI采用日志方式调试程序计算机二级考试
计算机二级取得Delphi修改文件的时间代码计算机二级考试
Delphi深度探索之自动完成外壳扩展计算机二级考试
在Delphi调用WMI读取USB设备的PID和VID计算机二级考试
计算机二级delphi检测计算机是否连网计算机二级考试
计算机二级Delphi代码优化技巧计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛