Форум: "Система";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];
ВнизХранитель экрана: запуск и выход Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c