抓取USB大量儲存裝置的方法Part 2( for Win2000) |
|
G01
高階會員 ![]() ![]() ![]() ![]() 發表:249 回覆:379 積分:215 註冊:2002-05-21 發送簡訊給我 |
針對Part 1 的實作函式
//取得USB大量儲存裝置的函式 //DeviceID (ProductKey)
//USB插座編號 (SlotID)
//儲存裝置編號 (EnumNo) procedure Get_Current_USBSTOR_Info(var ProductKey,SlotID:string;var EnumNo:integer);
var ct,Vid_Pos,i:integer;
reg:TRegistry;
HardWareKeyStr:string;
FindSlotID:boolean;
begin
HardWareKeyStr := '';
ProductKey := '';
SlotID := '';
FindSlotID := FALSE;
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
if(reg.OpenKeyReadOnly('SYSTEM\CurrentControlSet\Services\USBSTOR\Enum') = TRUE)then
begin
ct := 0;
ct := reg.ReadInteger('Count');
if(ct > 0)then
begin
EnumNo := ct-1;
HardWareKeyStr := reg.ReadString(IntToStr(ct-1));
end;//if...end!!
Vid_Pos := Pos('Vid_',HardWareKeyStr);
if(Vid_Pos > 0)then
for i := Vid_Pos to Length(HardWareKeyStr) do
begin
if(HardWareKeyStr[i] = '\')then
begin
FindSlotID := TRUE;
Continue;
end//if...end!!
else
if(FindSlotID = TRUE)then SlotID := SlotID+HardWareKeyStr[i]
else ProductKey := ProductKey+HardWareKeyStr[i];
end;//for...i...end!!
end;//if...end!!
reg.CloseKey;
reg.Free;
end; 現在,讓我們來看一看;自己的電腦上有使用過哪幾種USB大量儲存裝置
(包含了隨身碟,及使用USB外接盒的硬碟)
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |