![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Экранная заставка [D7]
ElectriC © (2007-08-29 15:47:00)Как проверить, программно, включена ли экранная заставка?
ElectriC (2007-08-31 17:43:00) [1]Проверил! В коде SPI_GETSCREENSAVEACTIVE. Всё равно тоже [5].
Юрий Зотов (2007-08-31 16:19:00) [2]Проверьте, что в коде именно SPI_ G ETSCREENSAVEACTIVE, а не SPI_ S ETSCREENSAVEACTIVE
ElectriC (2007-08-31 15:58:00) [3]Чет я не совсем пойму.
Запускаю заставку так: 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-30 07:57:00) [4]Кроме старых версий (NT и 95):
» Юрий Зотов: » Поправка: тип результата BOOL, а не boolean.
function IsScreenSaverRunning: boolean;
begin
SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, @Result, 0)
end;
TStas (2007-08-29 23:22:00) [5]Ну раз разобрались, то напишите, мне интересно стало.
Denis_ (2007-08-29 17:02:00) [6]Удалено модератором
Примечание: Оффтоп...
ElectriC (2007-08-29 16:19:00) [7]А всё разобрался! Ветку можно закрыть.