Вниз
Скачать: CL | DM;

Как отловить момент, когда Screen Saver закончил работу   Найти похожие ветки 

← →
DFR   (2005-08-06 04:39) [0]

По моему Win не посылает сообщение при этом?


← →
забыл   (2005-08-06 07:46) [1]

я вижу такой вариант:

определяем путь к scr зарегистрированного по умолчанию screensaverа, определяем запущен ли он в данный момент, получаем инфу по процессу. таймером пасем завершение или же попытаться waitforsingleobject...

P.S. не обессудьте, у мя щас раннее утро )


← →
Юрий Зотов ©   (2005-08-06 10:10) [2]

SystemParametersInfo с параметром SPI_GETSCREENSAVERRUNNING позволяет определить, работает ли скринсейвер. Проверять можно, например, по таймеру.


← →
Eraser ©   (2005-08-06 13:30) [3]

В доплнении к Юрий Зотов ©   (06.08.05 10:10) [2] почитай http://forum.sources.ru/index.php?showtopic=82713&st=15&


← →
DFR   (2005-08-10 12:27) [4]

Нужна еще помощь, по этой теме.

Процедуры и функция определяющие момент
начала и соответственно окончания
работы ScreenSaver`a, вроде работают
но есть вопросы.
Сначала код:
//Определяет окончание работы в OnTimer
function IsScreenSaverRun:Boolean;
var
Run:Bool;
begin
 Run:=False;
 SystemParametersInfo(SPI_GETSCREENSAVERRUNNING,0,@Run,2);
 Result:= Run ;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 If not  IsScreenSaverRun  Then
  begin

  Timer1.Enabled:= False;
// действия...
  end;
end;


//Определяет начало работы
procedure WMSysCommand(var Message: TWMSysCommand);message WM_SYSCOMMAND;

procedure  TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
inherited;

If Message.CmdType and  $FFF0  =  SC_SCREENSAVE  Then
begin
 Timer1.Enabled:= True;
 end;
end;


1.Почему не посылается сообщение WM_SYSCOMMAND если главное окно(TForm1) не активно, например минимизировано.
2.Если у Вас есть возможность проверить функцию  IsScreenSaverRun в Win95, Nt и 2000.
Будет ли она работать на этих платформах.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
1-1123474947
Ldt
2005-08-08 08:22
2005.08.28
Из GSM кодировки в ASCII


3-1121615606
Ильичев С.А.
2005-07-17 19:53
2005.08.28
Автоинкремент


14-1122976090
Kerk
2005-08-02 13:48
2005.08.28
В оутлук можно задать правила...


1-1123490231
W0lfX
2005-08-08 12:37
2005.08.28
Иконка для расширения


1-1123505192
B-boy-Dimo-N
2005-08-08 16:46
2005.08.28
QReport и Excel




   Наверх