Thema: Delphi PC "AN ZEIT" auslesen

Einzelnen Beitrag anzeigen

Benutzerbild von edosoft
edosoft

Registriert seit: 27. Okt 2003
Ort: Wehingen
258 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: PC "AN ZEIT" auslesen

  Alt 2. Apr 2008, 00:48
hi,

dafür müsstest du imho einen keyboard- und mousehook machen. das geht aber nur aus ner dll raus. und manche antivirenprogramme finden sowas nicht gut und meckern dann^^
musst mal im forum nach mousehook oder heyhook suchen ich hab damit schon mal was gemacht ist aber länger her... auf jedenfall müsstest du halt irgendwelche tresholds definieren dass z.b. wenn kein mousemove-event vom mousehook mehr aufgerufen wurde seit 20 sekunde oder so macht er sich einen timestamp und wenn dann der status wieder nach pc wird verwendet gewechselt wird speichert er die zeit von diesem timestamp bis jetzt als inaktiv(addiert den zur inaktiven gesamtzeit) oder halt nicht.


Delphi-Quellcode:
//keine mousemove-events für xx sekunden
dChangeToInactive := Now();


//wieder ein mousemove-event da
iTotalInactiveTime := iTotalInactiveTime + SecondsBetween(Now, dChangeToInactive);
dChangeToInactive ist vom typ TDateTime
iTotalInactiveTime ist Int64 oder Integer
die unit "DateUtils" muss in die uses-klausel eingefügt werden.

was auch noch ein prolem werden könnte ist wenn der pc abstürzt... am besten du speicherst alle 10 minuten oder so die gesamtzeiten
Dominik Weber
www.edo-soft.com
  Mit Zitat antworten Zitat