我正在處理應該啓動由用戶首選項定義的屏幕保護程序的代碼。 (代碼是用Java編寫的,但只能在Windows下運行。)我目前的方法是將註冊表中的ScreenSaveTimeOut值設置爲1;在理論上,這應該在延遲一秒鐘後啓動屏幕保護程序。如何以編程方式調整Windows屏幕保護程序註冊表設置
但實際上,它沒有這樣的事情。我已經在HKEY_CURRENT_USER \ Control Panel \ Desktop \ ScreenSaveTimeOut和HKEY_USERS.DEFAULT \ Control Panel \ Desktop \ ScreenSaveTimeOut中找到了值,但沒有任何結果。當啓動註冊表編輯器時,我可以看到這些值發生了變化,但顯示屬性 - >屏幕保護程序中的「等待」值不會改變。
的專家交換線指示我應該這樣做是爲了使更改立即生效:
%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters
...但是,這似乎並沒有做任何事情。
任何意見或見解我做錯了什麼?
我正在建議這個同樣的事情。任何你需要改變註冊表設置的原因,Blair? – JasCav 2009-09-02 20:10:40
+1爲猜測我的計劃B. :-)賈森,我不需要,我只是在尋求最優雅的解決方案。如果我採用這種方法,我還必須編寫一些模擬鼠標移動代碼,以防止屏幕保護程序在我不需要時運行。這是相當可行的,只是我喜歡的黑客而已。玩ScreenSaveTimeOut(可能ScreenSaveActive - 可能不知道我需要,因爲我認爲設置ScreenSaveTimeOut = 0會禁用屏幕保護程序)讓我感覺移動部件更少。 – BlairHippo 2009-09-02 20:31:57
從來沒有真正弄清楚這一點,所以我和Plan B一起去了May,並且爲它做了一個複選標記。 :-) – BlairHippo 2010-06-09 16:49:36