+ -
当前位置:首页 → 问答吧 → 高手请进,读取指定的U盘的VID PID的问题

高手请进,读取指定的U盘的VID PID的问题

时间:2011-08-30

来源:互联网

Function RewiseUSBISOK(Const CheckString:String='要查找的vid/pid'):Boolean; //\usb\vid_XXXX\pid_XXXX\XXXXXX
var
  Locator: OleVariant;
  WMI: OleVariant;
  RET: OleVariant;
  Enum: IEnumVariant;
  Tmp: OleVariant;
  Value: Cardinal;
begin
  Result:=False;
  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);
  if Pos(CheckString,LowerCase(Tmp.PNPDeviceID))>0 then
  begin
  Result:=True;
  break;
  end;
  ShowMessage(Tmp.PNPDeviceID);//Tmp为检测到返回的数据集合,其中PNPDeviceID为集合中的对象,包含了PID和VID码
  end;
end;

以上可以查找指定vid/pid的U盘设备,但不知道如何找出该设备的路径,或者知道路径比如为H:盘,如何判断H:盘U盘设备的vid/pid

作者: oushengfen   发布时间: 2011-08-30

没人理我?

作者: oushengfen   发布时间: 2011-08-30

热门下载

更多