Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.25.125] |
|
Сообщ.
#1
,
|
|
|
Добрый день!
Как при помощи кода запустить screensaver? P.S. Аналог кнопки Control Panel\Display\tab Screensaver\button Preview |
Сообщ.
#2
,
|
|
|
В разных системах ключи разные, но для Windows 7 можно прочитать ключик реестра HKEY_CURRENT_USER/Control Panel/Desktop/SCRNSAVE.EXE и выполнить команду (WinAPI ShellExecute) записанную в этом параметре. Там хранится имя исполняемой программы для запуска в качестве хранителя экрана. В Windows 8, 10, 11 ключи могут отличаться.
|
Сообщ.
#3
,
|
|
|
SendMessage(GetDesktopWindow(), WM_SYSCOMMAND, SC_SCREENSAVE, 0); |
Сообщ.
#4
,
|
|
|
Ребята,спасибо за помощь
|
Сообщ.
#5
,
|
|
|
Цитата Qraizer @ Это более правильное решение, т.к., во-первых, для скринсэйвера может быть активирована политика защиты паролем, во-вторых, он запускается как положено, на отдельном десктопе, в-третьих, в ответ сообщение рассылается всем окнам, и одно из них может ответить отказом, т.к., например, проигрывает видос, или оно игра, или транслирует окно камеры в телегу или наоборот, граббит цифрозащищённое окно фильма в файлик на компе, или мало ли что. Но тогда начнётся ещё и отсчёт времени до гибернации/сна. А надо сделать превью. Тогда лучше запустить самому. add: К тому же так можно запустить не только активный скринсейвер, но и все остальные без изменения настроек. А вышеперечисленные причины отказа в запуске нужны только для автоматической активации. Для запуска по нажатию кнопки они не существенны. |
Сообщ.
#6
,
|
|
|
M Не забываем про использование функции "Вопрос решён!" |