Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wann ist Computer inaktiv? (https://www.delphipraxis.net/9035-wann-ist-computer-inaktiv.html)

Evian 17. Sep 2003 09:39


Wann ist Computer inaktiv?
 
Hallo,
ich möchte ein kleines Programm schreiben, dass meine Computer nach einer bestimmten Lehrlaufzeit runterfährt. Nun ist es relativ schwer festzulegen, was Lehrlaufzeit ist... also habe ich mir überlegt, es an der Bewegung der Maus und an Tastendrücken festzumachen. Wie ich überprüfe, ob in einer bestimmten Zeit die Maus bewegt wurde, ist für mich eigendlich kein Problem, aber wie bekomme ich herraus, ob Systemweit eine Taste gedrückt wurde, also auch wenn mein Programm nicht im Fokus ist.

Hat jemand vielleicht eine Idee?

MFG

Evian

[edit=Luckie]Verschoben und umbenannt. Mfg, Luckie[/edit]

Luckie 17. Sep 2003 09:53

Re: Tastendrücken
 
Unter Windows2000 gibt es die API GetLastInputInfo(). das wäre am einfachsten, glaube ich.

Delphi-Quellcode:
function LastInput: boolean;
 var LInput : tagLASTINPUTINFO;
 const TIMELIMIT = 10000;
 begin
   result := false;
   LInput.cbSize := SizeOf(tagLASTINPUTINFO);
   GetLastInputInfo(LInput);
   if (GetTickCount - LInput.dwTime) > TIMELIMIT then result := true;
end;

Evian 17. Sep 2003 09:57

Re: Tastendrücken
 
öhm..

1. ich versteh nicht ganz was Deine Funktion macht, bzw. was es nun genau bedeutet wenn sie TRUE bzw. FALSE sendet

2. gibt es eine Möglichkeit das auf allen Betriebssystemen(win32) zu realisieren?

Luckie 17. Sep 2003 09:59

Re: Tastendrücken
 
1.) Na, wenn sie TRUE liefert ist 10 Sekunden nichts passiert.

2.) Nein, läuft nur ab 2000 und höher. Darunter ist diese Funktion nicht implementiert.

Evian 17. Sep 2003 10:05

Re: Wann ist Computer inaktiv?
 
Ok ... also auf jeden Fall danke erstmal, ich werde das mal damitt versuchen. Ich würde das Programm aber auch gerne auf einen Win98 Rechner laufen lassen, also falls noch jemand anders eine ähnliche Methode kennt, die man aber auch bei win 98 benutzen kann, dann würde ich mich freuen, wenn er sie posten könnte.

MFG

Evian


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 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