Вниз
Скачать: 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.025 c
14-1123053696
Jeer
2005-08-03 11:21
2005.08.28
ABC лишилась аккредитации в России


3-1121755995
-=snoop=-
2005-07-19 10:53
2005.08.28
OnClick = Cheked в чекбоксе!??


14-1123159211
oldman
2005-08-04 16:40
2005.08.28
Хотел в ветку про Динамо написать, но создам новую...


4-1120806824
Пётр Михалыч
2005-07-08 11:13
2005.08.28
Работа с мышкой


4-1120725661
AxelBlack
2005-07-07 12:41
2005.08.28
NetServerEnum




   Наверх