Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Экранная заставка [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):

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


TStas   (2007-08-29 23:22:00) [5]

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


Denis_   (2007-08-29 17:02:00) [6]

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


ElectriC   (2007-08-29 16:19:00) [7]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо