TRegistry 相關問題 |
尚未結案
|
epard
一般會員 發表:23 回覆:18 積分:8 註冊:2004-01-09 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
epard
一般會員 發表:23 回覆:18 積分:8 註冊:2004-01-09 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
epard 你好
試試看
Var Registry : TRegistry; Buff : PChar; l :integer; begin Registry := TRegistry.Create(KEY_READ); Registry.RootKey:=HKEY_LOCAL_MACHINE; If Registry.OpenKey('\SYSTEM\MountedDevices',False) Then Begin l := Registry.GetDataSize('\??\Volume{3a039bd0-81b0-11d8-ab7c-806d6172696f}'); Getmem(Buff,l); If Registry.ReadBinaryData('\??\Volume{3a039bd0-81b0-11d8-ab7c-806d6172696f}',Buff,l) = l Then Begin RichEdit1.Text := Buff; //在此可能看不到你所希望的畫面 * End; FreeMem(Buff,l); End; Registry.Free; end;* 以上取得的Buff 只是字元陣列,因其內包含有不可視的字元,因此你還要有其他的程式碼來加以改變其視覺化的字元,以下提供一連結(本站站長提供的範例)含Source Code 你可自行研習後,若還有問題再提問 http://delphi.ktop.com.tw/topic.php?topic_id=29705 |
epard
一般會員 發表:23 回覆:18 積分:8 註冊:2004-01-09 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
這有一篇: http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&th=5772b69483a9cb49&rnum=5
uses Registry; procedure TFrmReadBinaryData.Button1Click(Sender: TObject); const KeyName: string = 'System\CurrentControlSet\control\TimeZoneInformation'; ValName: string = 'DaylightStart'; var i: integer; keyGood: boolean; regKey: TRegistry; timeInfo: array of byte; tmpStr: string; vSize: integer; begin regKey := TRegistry.Create; try regKey.RootKey := HKEY_LOCAL_MACHINE; keyGood := regKey.OpenKey(keyName, false); if (keyGood) then begin vSize := regKey.GetDataSize(valName); if (vSize > 0) then begin SetLength(timeInfo, vSize); regKey.ReadBinaryData(valName, timeInfo[0], vSize); for i := 0 to vSize - 1 do tmpStr := tmpStr + Format('%.2X ', [timeInfo[i]]); Delete(tmpStr, Length(tmpStr), 1); Label1.Caption := tmpStr; end; end; finally regKey.Free; end; end;-- He just never quits. 發表人 - hagar 於 2004/04/06 19:27:50 |
epard
一般會員 發表:23 回覆:18 積分:8 註冊:2004-01-09 發送簡訊給我 |
引言: 這有一篇: http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&th=5772b69483a9cb49&rnum=5您好 那我應該如何把像上圖 binary 的部份 轉成 其右邊可看的懂的文字 謝謝uses Registry; procedure TFrmReadBinaryData.Button1Click(Sender: TObject); const KeyName: string = 'System\CurrentControlSet\control\TimeZoneInformation'; ValName: string = 'DaylightStart'; var i: integer; keyGood: boolean; regKey: TRegistry; timeInfo: array of byte; tmpStr: string; vSize: integer; begin regKey := TRegistry.Create; try regKey.RootKey := HKEY_LOCAL_MACHINE; keyGood := regKey.OpenKey(keyName, false); if (keyGood) then begin vSize := regKey.GetDataSize(valName); if (vSize > 0) then begin SetLength(timeInfo, vSize); regKey.ReadBinaryData(valName, timeInfo[0], vSize); for i := 0 to vSize - 1 do tmpStr := tmpStr + Format('%.2X ', [timeInfo[i]]); Delete(tmpStr, Length(tmpStr), 1); Label1.Caption := tmpStr; end; end; finally regKey.Free; end; end;-- He just never quits. 發表人 - hagar 於 2004/04/06 19:27:50 |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
epard 你好 以下提供一連結(本站站長提供的範例)含Source Code
http://delphi.ktop.com.tw/topic.php?topic_id=29705
|
epard
一般會員 發表:23 回覆:18 積分:8 註冊:2004-01-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |