Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1123158230
Гость22
2005-08-04 16:23
2005.08.28
Есть ли у кого-нить модулек, который делает сумму прописью?


1-1123656701
Juice
2005-08-10 10:51
2005.08.28
TValueListEditor с жестким выпадающий список


8-1113978635
SilenBlock
2005-04-20 10:30
2005.08.28
Помогите исправить ошибку в тексте!


10-1101293713
Vitalik
2004-11-24 13:55
2005.08.28
Библиотека типов для модулей расширения (плагинов)


5-1095560501
Matveyev
2004-09-19 06:21
2005.08.28
Реакция на компиляцию