Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wenn User 3 Min. nichts macht INAKTIV?! (https://www.delphipraxis.net/49495-wenn-user-3-min-nichts-macht-inaktiv.html)

SKolberg 12. Jul 2005 08:22


Wenn User 3 Min. nichts macht INAKTIV?!
 
Hallo,

ich habe hier alle Möglichkeiten durchsucht aber nichts passendes gefunden, bei den meisten gehts darum wenn DIE Software nicht gennutzt wird etwas auszuführen. Allerdings möchte ich gerne herausbekommen wenn ein Benutzer den Rechner (d.h. Maus und Tastatur) nicht benutzt. Die Software soll z.B. nach 3 min. inaktivität ein procedure aufrufen welches den User auf Status 'away' setzt damit die andere User bescheid wissen und nicht vergeblich auf eine Antwort warten... Genauso wenn die Maus bzw. Tastatur wieder benutzt wird den User als 'zurück' meldet...

Wie kann ich das realisieren in der DH kann ich auch nichts dazu finden.


Mfg, Steve

Luckie 12. Jul 2005 08:26

Re: Wenn User 3 Min. nichts macht INAKTIV?!
 
Wenn es nur ab Windows 2000 funktionieren muss: MSDN-Library durchsuchenGetLastInputInfo.

SKolberg 12. Jul 2005 08:41

Re: Wenn User 3 Min. nichts macht INAKTIV?!
 
Danke erstmal,

Das heisst doch, das ich wenn der "LastInput"-Wert xxx Sek. überschritten hat procedure xxxx ausgeführen muss, und sobald der "LastInput"-Wert zurückgesetzt wird (von Windows) procedure xxxy ausgeführt werden muss.. :gruebel: oder?


Mfg, Steve

SKolberg 12. Jul 2005 08:58

Re: Wenn User 3 Min. nichts macht INAKTIV?!
 
So habs gefunden...

Ein Timer fragt jede 10 Sec. die "LastInputInfo" ab wenn dieser wert 240 Sec. überschreitet wird die procedure ausgeführt ist der wert unter 240 Sec dann else procedure

Delphi-Quellcode:
function SecondsIdle: DWord;
var
   liInfo: TLastInputInfo;
begin
   liInfo.cbSize := SizeOf(TLastInputInfo) ;
   GetLastInputInfo(liInfo) ;
   Result := (GetTickCount - liInfo.dwTime) DIV 1000;
end;

procedure TForm1.Timer1Timer(Sender: TObject) ;
begin
   Caption := Format('System IDLE last %d seconds', [SecondsIdle]) ;
end;
Mfg, Steve

Jens Schumann 12. Jul 2005 09:02

Re: Wenn User 3 Min. nichts macht INAKTIV?!
 
Hallo,
wie wäre es denn mit dem OnIdle Event der Komponente TApplicationEvent?

SKolberg 12. Jul 2005 09:07

Re: Wenn User 3 Min. nichts macht INAKTIV?!
 
@Schumann
?reagiert die nicht nur auf die Idlezeit innerhalb der laufenden Anwendung?


Mfg

Luckie 12. Jul 2005 09:14

Re: Wenn User 3 Min. nichts macht INAKTIV?!
 
Jupp, tut es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz