⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas.~57~

📁 u盘的加密(类似加密狗),自己下载来研究吧
💻 ~57~
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ActiveX, ComObj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

type
  TUsbList=record
  Name : string[10];
  HardID: string[20];
  VID: string[10];
  PID: string[10];
  SerialID: string[20];
  FullID: string[50];
end;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Locator: OleVariant;
  WMI: OleVariant;
  RET: OleVariant;
  Enum: IEnumVariant;
  Tmp: OleVariant;
  Value: Cardinal;
  s: string;
  n,m,vidp,pidp: integer;
  Res: TStringList;
  ResVP: TStringList;
  NewUSB: Array of TUsbList;
begin
  Locator := CreateOleObject('WbemScripting.SWbemLocator');
  WMI := Locator.ConnectServer('.','','','');
  Ret := WMI.ExecQuery('SELECT * FROM Win32_USBHub');
  //这里Win32_USBHub为检测项,详见下表
  Enum := IUnknown(RET._NewEnum) as IEnumVariant;
  Res := TStringList.Create;
  ResVP := TStringList.Create;
  n := 0;
  while (Enum.Next(1, Tmp, Value) = S_OK) do
  begin
    //ShowMessage(Tmp.DeviceID);
    SetLength(NewUSB,n+1);
    s:=Tmp.PnPDeviceID;
    ExtractStrings(['\'], [], pchar(s), Res);
    NewUSB[n].Name := trim(Res.Strings[0]);
    NewUSB[n].HardID := trim(Res.Strings[1]);
    vidp := Pos('VID_',trim(Res.Strings[1]));
    pidp := Pos('PID_',trim(Res.Strings[1]));
    if vidp <> 0 then
    begin

    end;
    NewUSB[n].SerialID := trim(Res.Strings[2]);
    NewUSB[n].FullID := trim(s);
    Res.Clear;
    n:= n + 1;
    //showmessage(tmp.PID);
    //Tmp为检测到返回的数据集合,其中PNPDeviceID为集合中的对象,包含了PID和VID码
  end;
  m := 0;
  while m < n do
  begin
    showmessage(trim(NewUSB[m].FullID));
    m := m + 1;
  end;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -