Главная страница
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.48 MB
Время: 0.036 c
1-51307
han-bratan
2003-10-06 11:38
2003.10.16
регистрация com объекта


14-51502
BillyJeans
2003-09-27 14:57
2003.10.16
как изменить свой профиль?


3-51138
Amayak
2003-09-22 07:56
2003.10.16
BD


1-51211
kosm
2003-10-02 13:11
2003.10.16
Кто как реализовывал интерфейс как outlook?


6-51380
SergK
2003-08-18 16:58
2003.10.16
Ошибка работы с сокетами