Jak wykryć czas bezaktywności w Win98 !!!pilne!!!

0

Mam pytanie jak w Delphi napisać funkcję lub procedurkę która zwraca czas bezaktywności użytkownika ale która też będzie działać w Windows98 GetLastImputInfo nie działą w win98

0

Można zastosować TTimer który sprawdzał by ruchy (komunikaty) myszki i komunikaty z klawiatury jeżeli ich nie ma to zaczyna liczyć. Tak działają AutoAway'e w większości komunikatorów sieciowych.

0
Neoo napisał(a)

Można zastosować TTimer który sprawdzał by ruchy (komunikaty) myszki i komunikaty z klawiatury jeżeli ich nie ma to zaczyna liczyć. Tak działają AutoAway'e w większości komunikatorów sieciowych.

Tak właśnie myślałem ale jak sprawdzić mysz i klawiaturę ogólnie w całym systemie win98 bo w nt/xp nie ma problemu.

0
Mula napisał(a)

Tak właśnie myślałem ale jak sprawdzić mysz i klawiaturę ogólnie w całym systemie win98 bo w nt/xp nie ma problemu.

To załóż sobie najzwyklejszego hooka globalnego i sprawdzaj w Timerze czy pojawiły się nowe wpisy.
Lub zrób z komponentem ShellChangeNotifier także sprawdzając w Timerze czy coś nowego wstawił.

Dla hooka:

function KeyHook(Code: Integer; wParam : WPARAM; lParam : LPARAM): Longint; stdcall;
var
 Buffer: TEventMsg;
begin
 result := 0 ;
 Buffer := PEventMsg(lParam)^;
 if Buffer.message = wm_KeyDown then
 Form1.Memo1.Text := Form1.Memo1.Text + chr(Buffer.paraml);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
MainHook : HHOOK;
begin
MainHook := SetWindowsHookEx(wh_JournalRecord, KeyHook, HInstance, 0);
end;

Jeśli od kilku sekund w obydwu przypadkach nie pojawiły się nowe wpisy - masz
nieaktywność ! :)

0
Opi napisał(a)

To tylko na klawiature dziala :) A o myszke tez chodzi :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1