Seite 1 von 1

Benutzer Inaktivität optimal prüfen

Verfasst: 15.02.2009 14:38
von Hoto
Bin gerade bei einem Programm, bei dem ich feststellen muss, ob der Benutzer am PC gerade aktiv was macht oder den PC nur vor sich hin laufen lässt. Mehr Infos, also z.B. was der User genau am PC macht, brauche ich definitiv hier nicht.

Ich frage mich nun, ob es eine einfache Möglichkeit gibt eine Inaktivität festzustellen, z.B. ob die Windows API selbst da was bietet (z.B. braucht Windows für den Bildschirmschoner ja selbst sowas) oder ob ich mit Keyboard Hook und Maus Abfrage da alles selbst einzeln abfragen muss.

Vielleicht weiß hier ja Jemand genaueres.

Verfasst: 15.02.2009 14:39
von Kaeru Gaman
ohne jetz zu suchen, nur so ausm ärmel, ich glaube die API hieß LastInputInfo oder so ähnlich...

Verfasst: 15.02.2009 19:03
von Hoto
Fast, so gehts:

Code: Alles auswählen

Structure LASTINPUTINFO
 cbSize.l
 dwTime.l
EndStructure

glbLASTINPUTINFO.LASTINPUTINFO
glbLASTINPUTINFO\cbsize=8
GetLastInputInfo_(@glbLASTINPUTINFO)

Debug glbLASTINPUTINFO\dwTime
Danke für den Hinweis. :)

Wobei ich mich allerdings frage was für ein Zeitformat das ist, ein Timestamp besteht ja aus 10 Zahlen und nicht 8. Allerdings für mein Vorhaben nicht weiter von Bedeutung.

Verfasst: 15.02.2009 19:11
von edel
Wenn du den Befehl (ohne Unterstrich) bei Google eintippst, bekommst
du reichlich Links, die dir deine Fragen beantworten. Geht auch mit
der Struktur.

Verfasst: 16.02.2009 08:46
von dige
Ach neeee!! Jungs!! Das ist doch jetzt nicht wahr, oder?!?!? :shock:
So einfach geht das?! Ohne H00k, ohne GetAsyncKey_() etc...

Menno! Das wurde doch hier schon tausendmal gefragt und jetzt wirds hier
einfach mal so nebenbei erwähnt..

Ich habe immer nach Idle Time Apis gesucht oder versucht das am Trigger
für den Bildschirmschoner festzumachen...

Genial, muchas gracias @Kaeru!!! :D

Verfasst: 16.02.2009 13:15
von Kaeru Gaman
öh.. danke für die blumen...

das hab ich irgendwann mal nebenbei hier im forum aufgeschnappt.