Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

Как отловить время простоя пользователя?   Найти похожие ветки 

 
Вован_   (2004-01-25 10:37) [0]

Всем привет! Проблема такая. Как сделать так, чтобы при простое пользователя (не нажимает на клавиши, не двигает мышкой над программой и любым из ее окон, или программа свернута) через например 10 минут программа автоматически закрывалась?


 
Юрий Зотов ©   (2004-01-25 10:51) [1]

type
TForm1 = class(TForm)
Timer1: TTimer; // Interval = 600000
procedure FormCreate((Sender: TObject); // Form1.OnCreate
procedure Timer1Timer(Sender: TObject); // Timer1.OnTimer
private
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
end;

procedure TForm1.FormCreate((Sender: TObject);
begin
Application.OnMessage := AppMessage
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Application.Terminate
end;

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
with Msg do
if (Message >= WM_KEYFIRST) and (Message <= WM_KEYLAST) or
(Message >= WM_MOUSEFIRST) and (Message <= WM_MOUSELAST)
then begin
Timer1.Enabled := False;
Timer1.Enabled := True
end
end;


 
Вован_   (2004-01-25 11:14) [2]

Работает, но не всегда.
Например, если пользователь оставил активным MainMenu на какой-нибудь форме (вошел в подменю и не выбрал элемент, а просто оставил маркер), тогда программа не выгружается.



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

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

Наверх




Память: 0.47 MB
Время: 0.032 c
8-16532
Layner
2003-09-30 14:48
2004.02.06
Требуется совет по выводу видео картинки на форму.


6-16567
NikeOLD
2003-11-29 14:02
2004.02.06
Как программно разорвать удаленный диал-ап?


1-16395
buka
2004-01-21 19:51
2004.02.06
Вопрос к тому кто занимался с Wise Installer


8-16531
Sapersky
2003-10-01 13:19
2004.02.06
Запихнуть комментарий в JPEG


14-16600
ёё
2004-01-15 14:10
2004.02.06
Что есть пиринговые сети?