線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3399
推到 Plurk!
推到 Facebook!

重新載入註冊表

缺席
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-13 10:09:55 IP:211.74.xxx.xxx 未訂閱
請問: 修改註冊表後,如何在不重新開機(reboot)下,立即使新的註冊表生效.
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-14 17:54:16 IP:61.155.xxx.xxx 未訂閱
uses  shlobj;    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);    风花雪月 e梦情缘
------
风花雪月 e梦情缘
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-15 11:13:29 IP:211.74.xxx.xxx 未訂閱
wnhoo: 好像不行,註冊檔舊的值還繼續有效.無重開機載新值的效果.
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-15 16:52:44 IP:61.155.xxx.xxx 未訂閱
针对不同的注册表选项,有不同设置立即生效的方法 //比如这是载入墙纸文件的立即生效方法 在你的Form上加一个OpenPictureDialog用来选择Bitmap墙纸文件 uses   Registry; procedure TForm1.Button1Click(Sender: TObject); var Ini: TregIniFile; res: boolean; begin if OpenPictureDialog1.Execute then begin Ini := TRegIniFile.Create('Control Panel'); Ini.WriteString('desktop', 'Wallpaper', OpenPictureDialog1.FileName); Ini.WriteString('desktop', 'TileWallpaper', '1');  Ini.Free; res := SystemParametersInfo(SPI_SETDESKWALLPAPER,0,nil,SPIF_SENDWININICHANGE); end; end;    有的设置是必须要启动计算机的,我想如果你的注册表设置有很大的变动,最佳的方法只有 CTRL+ALT+DEL   >>> REBOOT YOUR PC!!!     风花雪月 e梦情缘
------
风花雪月 e梦情缘
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-15 17:25:05 IP:211.74.xxx.xxx 未訂閱
wnhoo: 可能我敘述的不夠清楚. 我的意思是,如果用REGEDIT.EXE(或程式)等編輯註冊表後,當然它會編輯成功. 但如何讓這註冊表新值立即生效. 也就是要改memory裡的某些值,這該如何以程式來完成?
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-15 18:40:32 IP:61.155.xxx.xxx 未訂閱
如何讓這註冊表新值立即生效. ------------------------------------------------------------- 我想你还是对注册表进行修改,然后保存。并且使修改后的效果立即呈现。 如果是这样的话,参见上面解答! 我上面举例也是对注册表,进行修改后,然后立即生效!!! 注意:我上面是在更改控制面板的一个特殊的INI文件,因为这个文件修改就相当于修改注册表中,关于墙纸的配置项目。 發表人 - wnhoo 於 2003/07/15 18:43:57
------
风花雪月 e梦情缘
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-07-16 15:27:33 IP:211.23.xxx.xxx 未訂閱
引言: wnhoo: 可能我敘述的不夠清楚. 我的意思是,如果用REGEDIT.EXE(或程式)等編輯註冊表後,當然它會編輯成功. 但如何讓這註冊表新值立即生效. 也就是要改memory裡的某些值,這該如何以程式來完成?
registry 的值修改後是否生效, 這不是由 REGISTRY 來決定的. 重點是你想要影響的 應用程式 是否有去重讀 REGISTRY 的設定值. 所以你應該提出你想修改的值, 才能告訴你是否有什麼方式可以讓特定的程式去重新載入 REGISTRY 的值. ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-07-17 18:02:44 IP:211.74.xxx.xxx 未訂閱
用REGEDIT.EXE(或程式)等編輯註冊表後,當然它會編輯成功. <====== 可能錯的. 如何在 2000 或 XP 下以程式更改權限或直接編輯註冊檔? 如預修改的是系統的內定值,而不是應用程式的註冊值呢? 那該如何使其立即生效,其實原意也是如此,並沒有說是應用程式相關.
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-07-18 11:31:09 IP:211.23.xxx.xxx 未訂閱
引言: 用REGEDIT.EXE(或程式)等編輯註冊表後,當然它會編輯成功. <====== 可能錯的. 如何在 2000 或 XP 下以程式更改權限或直接編輯註冊檔? 如預修改的是系統的內定值,而不是應用程式的註冊值呢? 那該如何使其立即生效,其實原意也是如此,並沒有說是應用程式相關.
修改 windows 的系統設定值, 也是要 Windows 系統有去讀這個 REGISTRY 才會生效呀!! 平常改個值會生效, 那只是因為 Windows 系統很自動, 沒事就會去重讀設定值. 不過, 你問題的重點, 倒底是要改什麼, 還是看不出來!? 說到底, REGISTRY 只是一份記錄. 要如何讓這個 REGISTRY 生效, 就要看系統或應用程式有沒有去讀取呀!! 太過廣泛性的問題, 實在是不知如何回答起!! ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-07-18 12:15:58 IP:211.74.xxx.xxx 未訂閱
譬如說讓系統內定mouse或keyboard失去應有功能,而且立即永久生效. 用修改註冊表方式,而且要跳過權限控制方式.也就是anyuser均可完成. 有沒有任何的idea?
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-07-18 13:14:32 IP:211.23.xxx.xxx 未訂閱
引言: 譬如說讓系統內定mouse或keyboard失去應有功能,而且立即永久生效. 用修改註冊表方式,而且要跳過權限控制方式.也就是anyuser均可完成. 有沒有任何的idea?
可能性不大!! 真的可以隨便改個值就讓 Mouse / Keyboard 就失去作用... 那 REGISTRY 毀損時, 豈不是連 Ctrl Alt Del 都關不掉!!?? 你應該是要做 SECURITY 方面的程式吧!! 還是想想其他的路, 像用 HOOK 的方式來擋, 這可能還實際一些. 當然也有可能真的存在這樣的 Registry 設定, 可以讓 DEVICE 停用. 不過我還沒發現就是了.... :) ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-07-21 10:40:30 IP:211.74.xxx.xxx 未訂閱
聽說有一種方法可以達成. 就是先下explooer再上一次explorer就可強制讓註冊表再reload一次. 可有任何人再補充一下?
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-07-21 12:06:52 IP:211.23.xxx.xxx 未訂閱
引言: 聽說有一種方法可以達成. 就是先下explooer再上一次explorer就可強制讓註冊表再reload一次. 可有任何人再補充一下?
這樣做是會重讀, 不過關掉 EXPLORER 是會出現關機的畫面呀!! 還有一個一定會重讀 REGISTRY 的方法... 那就是.... 重開機..... ...
------
水瓶男的blog: http://791909.blogspot.com
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-07-23 13:16:13 IP:211.74.xxx.xxx 未訂閱
用 Win 2000 關掉 EXPLORER 不會出現關機畫面. 當然應可適當的引導視窗訊息.讓訊息不出現.
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-07-23 19:07:53 IP:211.23.xxx.xxx 未訂閱
引言: 用 Win 2000 關掉 EXPLORER 不會出現關機畫面. 當然應可適當的引導視窗訊息.讓訊息不出現.
問題1: 你的程式有限定 USER 只能在 windows 2000/XP 下執行嗎? 問題2: 要達成你程式目的的方法, 只有改這個 REGISTRY 值才可以嗎? 有沒有可能利用別的方式達成? 例如 HOOK 之類的...... ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
cccheng
一般會員


發表:8
回覆:19
積分:5
註冊:2002-05-30

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-07-24 09:12:42 IP:211.74.xxx.xxx 未訂閱
問題1: 你的程式有限定 USER 只能在 windows 2000/XP 下執行嗎? 問題2: 要達成你程式目的的方法, 只有改這個 REGISTRY 值才可以嗎? 有沒有可能利用別的方式達成? 例如 HOOK 之類的...... ...Aquarius 1.我的程式並沒有設定只在 Win 2000/Xp. 2.其實我的問題已經解決了,但並不是用 Registry 及 Hook 方法,因不屬這問題範圍,故不再提敘. 3.想說這網那麼多高人,應有更好的方法可以解決的. 4.是不是另有能者願意提出更高明的方法,讓大伙開開眼界,如無小弟就結案了. 5.謝謝各位網友的幫忙及時間.
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-07-24 09:26:19 IP:211.23.xxx.xxx 未訂閱
引言: 1.我的程式並沒有設定只在 Win 2000/Xp. 2.其實我的問題已經解決了,但並不是用 Registry 及 Hook 方法,因不屬這問題範圍,故不再提敘. 3.想說這網那麼多高人,應有更好的方法可以解決的. 4.是不是另有能者願意提出更高明的方法,讓大伙開開眼界,如無小弟就結案了. 5.謝謝各位網友的幫忙及時間.
其實寫程式就是這樣, 只要預期的功能能達到, 用那一種方式來完成並不是那麼重要呀!! ...
------
水瓶男的blog: http://791909.blogspot.com
系統時間:2024-04-29 15:53:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!