全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1294
推到 Plurk!
推到 Facebook!

有關 RegNotifyChangeKeyValue 的問題

答題得分者是:ko
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-27 22:26:06 IP:61.59.xxx.xxx 未訂閱
從之前版主ccchen之說明它可監視某機碼及其下子機碼之新增或刪除,現在我有一些問題? 1.我如果要同時或隨時監視HKEY_LOCAL_MACHINE及HKEY_USERS及HKEY_CURRENT_CONFIG 程式怎麼寫? 2.如果是其他程式有新增或刪除某機碼及其下子機碼,本程式一樣可監視到嗎? 3.如果某機碼及其下子機碼的值是新增或修改,如何得知是發生在那個名稱子機碼? 及該值名稱和其原始值及現在值? PS: 底下是CCCHEN之範例程式 用Delphi重寫一下 var subkey,sResult:string; hkResult:HKEY;begin subkey:='SOFTWARE\Microsoft\Windows'; if RegOpenKeyEx(HKEY_LOCAL_MACHINE,pchar(subkey), 0, KEY_READ, hkResult) <> 0 then ShowMessage('(Moi)Error while opening... n') else begin RegNotifyChangeKeyValue(hkResult,true,REG_NOTIFY_CHANGE_NAME REG_NOTIFY_CHANGE_ATTRIBUTES REG_NOTIFY_CHANGE_LAST_SET REG_NOTIFY_CHANGE_SECURITY, 0,false); end;
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-05 10:35:27 IP:61.221.xxx.xxx 未訂閱
ry_lee你好: uses Registry;    .... var RegPath: TRegistry; begin RegPath:=TRegistry.Create;        RegPath.RootKey:=HKEY_LOCAL_MACHINE;        RegPath.OpenKey('SOFTWARE\Microsoft\Windows',True); ... .. end; 以上的程式碼可以得知在'SOFTWARE\Microsoft\Windows'下面有多少機碼登錄 可以用 RegPath.ValueExists('子機名稱');//得知是否存在 RegPath.ReadString('子機名稱');//取得子機碼的''值'' 關於 2. 3. 當然要先把原來(原始)的機碼內容存放在某個地方,在讀取現在的機碼 兩相比較,才可以知道是否變更過喔!!
------
======================
昏睡~
不昏睡~
不由昏睡~
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-06 13:17:30 IP:61.59.xxx.xxx 未訂閱
引言: ry_lee你好: uses Registry; .... var RegPath: TRegistry; begin RegPath:=TRegistry.Create; RegPath.RootKey:=HKEY_LOCAL_MACHINE; RegPath.OpenKey('SOFTWARE\Microsoft\Windows',True); ... .. end; 以上的程式碼可以得知在'SOFTWARE\Microsoft\Windows'下面有多少機碼登錄 可以用 RegPath.ValueExists('子機名稱');//得知是否存在 RegPath.ReadString('子機名稱');//取得子機碼的''值'' 關於 2. 3. 當然要先把原來(原始)的機碼內容存放在某個地方,在讀取現在的機碼 兩相比較,才可以知道是否變更過喔!! < face="Verdana, Arial, Helvetica"> 謝謝你的說明,但我一直無法將(原始)的機碼內容給備份出來,不管是用win api之Regsavekey或delphi之Tregistry之savekey方法,原因可能是win 2000 OS之關係,我在大陸DELPHI網站觀賞,也發現很多人有提到這問題(在win 2000 OS無法將(原始)的機碼內容給備份出來),不曉得你知道要怎麼做,若你知道可否寫一點程式碼?
系統時間:2024-04-28 7:40:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!