delphi 通过WMI获取U盘硬件特征码  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 通过WMI获取U盘硬件特征码


unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls,ActiveX, ComObj, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    {
 Private declarations 
}
  public
    {
 Public declarations 
}
  end;
 
var
  Form1: TForm1;
 
implementation
 
{
$R *.dfm
}
 
procedure TForm1.Button1Click(Sender: TObject);
var
    Locator:OleVariant;
    WMI:OleVariant;
    RET:OleVariant;
    Enum:IEnumVariant;
    Tmp:OleVariant;
    Value:Cardinal;
begin
    Locator:=CreateOleObject('WbemScriptingSWbemLocator');
    WMI := Locator.ConnectServer('.', '', '', '');
    Ret := WMI.ExecQuery('SELECT * FROM Win32_USBHub');//这里Win32_USBHub为检测项,详见下表
    //这里Win32_USBHub为检测项,详见下表
    Enum:= IUnknown(RET._NewEnum) as IEnumVariant;
    while (Enum.Next(1, Tmp, Value) = S_OK) do
    begin
    if Tmp.Name='USB Mass Storage Device' then
ShowMessage('这个U盘的硬件特征码是'+Tmp.PNPDeviceID);
//Tmp为检测到返回的数据集合,其中PNPDeviceID为集合中的对象,包含了PID和VID码
    end;
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

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.038400888442993 seconds