Я работаю над кодом, который должен запускать скринсейвер, определенный пользовательскими настройками. (Код находится в Java, но будет выполняться только под Windows.) Мой текущий подход заключается в том, чтобы установить значение ScreenSaveTimeOut в реестре равным 1; в теории, это должно забить скринсейвер после задержки всего на одну секунду.Как программировать Tweak Windows Screensaver Настройки реестра
Но на практике это не так. Я ударил значения как в HKEY_CURRENT_USER \ Control Panel \ Desktop \ ScreenSaveTimeOut, так и в HKEY_USERS.DEFAULT \ Control Panel \ Desktop \ ScreenSaveTimeOut без каких-либо результатов. Я вижу, что значения меняются, когда я запускаю regedit, но значение «Ожидание» в Свойствах экрана -> Заставка не изменяется.
Эксперты-нить Обмен указано, что должен сделать это, чтобы изменения вступили в силу немедленно:
%SystemRoot%\System32\RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters
... но это, похоже, не делать ничего.
Любые советы или сведения о том, что я делаю неправильно?
Я собирался предложить то же самое. Любая причина, по которой вам нужно изменить настройки реестра, Блэр? – JasCav
+1 для угадывания моего плана Б. :-) Джейсон, мне НЕ НУЖНО, я просто стреляю по самому элегантному решению. Если я пойду с этим подходом, мне также придется кодировать некоторые моделируемые движения мыши, чтобы предотвратить заставку, когда я этого не хочу. Это вполне выполнимо, просто немного взломать для меня. Игра с ScreenSaveTimeOut (и, возможно, ScreenSaveActive - не знаю, что мне нужно, так как я думаю, что установка ScreenSaveTimeOut = 0 отключает экранную заставку) поразила меня тем, что у меня было меньше движущихся частей. – BlairHippo
Никогда этого не делал, поэтому я пошел с Plan B. Май, а также раздаю галочку для него. :-) – BlairHippo