Вниз
Скачать: CL | DM;

Экранная заставка   Найти похожие ветки 

 
ElectriC ©   (2007-08-29 15:47) [0]

Как проверить, программно, включена ли экранная заставка?


 
ElectriC ©   (2007-08-29 16:19) [1]

А всё разобрался! Ветку можно закрыть.


 
Denis_ ©   (2007-08-29 17:02) [2]

Удалено модератором
Примечание: Оффтоп...


 
TStas ©   (2007-08-29 23:22) [3]

Ну раз разобрались, то напишите, мне интересно стало.


 
Юрий Зотов ©   (2007-08-30 07:57) [4]

Кроме старых версий (NT и 95):

function IsScreenSaverRunning: boolean;
begin
 SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, @Result, 0)
end;
» Юрий Зотов:» Поправка: тип результата BOOL, а не boolean.


 
ElectriC ©   (2007-08-31 15:58) [5]

Чет я не совсем пойму.
Запускаю заставку так: PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
Останавливаю заставку (кликаю или двигаю курсором мыши).
Затем проверяю:
function ScreenSaver : Boolean;
var Status : Bool;
begin
 SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, @Status, 0);
 Result := Status = True;
end;
Функция ScreenSaver говорит, что заставка отключена. Смотрю в настройки
экранной заставка, заставка включена(т.б. допустим у меня установлена "Объёмный текст"). Пытаюсь запустить программно - ничего не выходит.
Вопрос решается, когда заново выбрать заставку и нажать OK.
Не подскажите в чём дело?


 
Юрий Зотов ©   (2007-08-31 16:19) [6]

Проверьте, что в коде именно SPI_GETSCREENSAVEACTIVE, а не SPI_SETSCREENSAVEACTIVE


 
ElectriC ©   (2007-08-31 17:43) [7]

Проверил! В коде SPI_GETSCREENSAVEACTIVE. Всё равно тоже [5].



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
2-1207944547
Ярослав
2008-04-12 00:09
2008.05.11
Переводчик


2-1208170329
umbra
2008-04-14 14:52
2008.05.11
не выполняется код в конструкторе


2-1207937543
lewka-serdceed
2008-04-11 22:12
2008.05.11
Вывод даты из DateTimePicker


2-1207828862
dmdel
2008-04-10 16:01
2008.05.11
Управление службами в Windows XP


2-1208252372
arinyshka
2008-04-15 13:39
2008.05.11
Drag&Drop




   Наверх