Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

Хранитель экрана: запуск и выход   Найти похожие ветки 

 
dataMaster ©   (2003-08-01 15:24) [0]

Всем привет! Кто-нибудь знает, как из своей программы можно определить, что Windows запустила (или пытается запустить) ScreenSaver, а также, что ScreenSaver завершил свою работу?


 
Игорь Шевченко ©   (2003-08-01 15:41) [1]

В win2k/winXp через gina.dll неплохой способ. Описан вроде на rsdn.

В Win98 можно попробовать узнать через SystemParametersInfo (SPI_SCREENSAVERRUNNING, ...)




 
dataMaster ©   (2003-08-01 16:52) [2]

Делаю так:

var
SaverActive:boolean;
begin
repeat
Application.ProcessMessages;
( SPI_SCREENSAVERRUNNING, 0, @SaverActive, 0)
Делаю так:

var
SaverActive:boolean;
begin
repeat
Application.ProcessMessages;
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @SaverActive, 0);
until SaverActive=True;
Halt;
end;


и цикл не завершается, даже если хранитель экрана запустился... Может что не так сделал?


 
Echelon ©   (2003-08-01 18:03) [3]

Конечно не так, если не ошибаюсь нужно писать SPI_GETSCREENSAVEACTIVE, а SPI_SCREENSAVERRUNNING
используется для того чтобы активировать этот режим.
Посмотри SDK.


 
Pindos ©   (2003-08-02 01:25) [4]

SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, nil, 0); - В 98 Windows"е отключает нажатие Ctrl+Alt+Del, At+Tab, Alt+Esc...

SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, nil, 0); - включает нажатие вышеуказанных сочетаний!!!

А как про заставку узнать я не знаю
PindosInc®


 
Yanis ©   (2003-08-02 02:34) [5]

Да уж. :))

SendMessage(Application.Handle,WM_SYSCOMMAND,SC_SCREENSAVE,0);


 
dataMaster ©   (2003-08-04 09:52) [6]

2Echelon © (01.08.03 18:03)
SPI_GETSCREENSAVEACTIVE тоже не помог...

2Pindos © (02.08.03 01:25)
Кнопки мне не нужны :-)

2Yanis © (02.08.03 02:34)
Это немножко не то ;-)



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

Текущий архив: 2003.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
14-51409
dmtr
2003-09-29 13:48
2003.10.16
Интересный вопрос


1-51228
kolobok
2003-10-03 16:47
2003.10.16
Уважаемые Мастера!


11-51158
microlab
2003-02-01 21:59
2003.10.16
Меню как много в этом слове...


3-51144
T{}r(l-l
2003-09-24 14:48
2003.10.16
Как копировать таблицы из одной базы в другую?


1-51180
romeo
2003-10-04 23:05
2003.10.16
Не происходит событие OnMouseWheel