Entwickler-Ecke
Windows API - PC aktiv?
*Knust* - Mo 14.07.08 20:04
Titel: PC aktiv?
Moin!
Ich würde gerne mal wissen, ob man irgendwie herausfinden kann, ob die Tastatur, oder die Maus eines PCs im Augenblick benutzt wird.
Ich würde nämlich gerne ein Programm schreiben, was immer im Hintergrund läuft und, wenn es merkt, dass der Benutzer gerade niccht aktiv is, andere Programme startet, die relativ viel RAM fressen und deshalb möglichst nicht bei aktiver Benutzung des PCs laufen sollten.
Kann man also irgendwie herausfiden, ob die Maus bewegt wird oder die Tastatur benutzt wird mit einem Programm, was im Hintergrund läuft?
mfg
Knust
Moderiert von
Christian S.: Topic aus Internet / Netzwerk verschoben am Mo 14.07.2008 um 20:07
Yogu - Mo 14.07.08 20:13
*Knust* hat folgendes geschrieben: |
| Kann man also irgendwie herausfiden, ob die Maus bewegt wird oder die Tastatur benutzt wird mit einem Programm, was im Hintergrund läuft? |
Natürlich kann man das. :D
Die eine Möglichkeit wären
HOOKS.
Die andere, die Tastatur und Maus in einer Schleife abzufragen. Das wäre vielleicht nicht gerade die schönste Methode, aber sie ist einfacher.
Für die Tastatur benötigst du
GetAsyncKeystate und eine Reihe der virtuellen Tastencodes. Einge davon wären zum Beispiel
VK_RETURN,
VK_ESCAPE,
VK_UP oder
VK_DOWN. Wenn eine dieser Aufrufe einen wert kleiner Null lieft, ist eine Taste gedrückt. Du kannst somit Änderungen feststellen.
Um die Maus auf Bewegung zu testen, musst du mehrmals
GetCursorPos abfragen, und den Unterschied testen.
Der deutlich bessere Weg wäre aber natürlich immer noch der über Hooks. Dazu bietet sich das Tutorial von
Assarbad [
http://assarbad.net/stuff/tutorials/hooks/hook_tutorial.pdf] an.
Narses - Mo 14.07.08 20:16
Titel: Re: PC aktiv?
Moin!
*Knust* hat folgendes geschrieben: |
| andere Programme startet, die relativ viel RAM fressen |
8) ...also, ich würde ja zu gerne mal ein Programm sehen, das
RAM frisst... :rofl:
besonders die Geräuschkulisse interessiert mich dabei
*Knust* hat folgendes geschrieben: |
| Kann man also irgendwie herausfiden, ob die Maus bewegt wird oder die Tastatur benutzt wird mit einem Programm, was im Hintergrund läuft? |
Ich schlage mal diesen Ansatz vor: Du findest raus, wenn der
BILDSCHIRMSCHONER AKTIV wird und startest dann dein Programm. :idea: Bleibt allerdings das Problem, wie du das Programm wieder beendet kriegst, wenn der Benutzer weiterarbeiten will - und wie schnell dein Resourcen-"Fresser" ;) dieselben wieder hergibt :? das könnte nämlich schonmal etwas dauern, bis das passiert ist und dann so unschöne Lags geben... :nixweiss:
Eigentlich ist für sowas das Betriebssystem selbst verantwortlich: nennt sich Prozesspriorität... :think:
cu
Narses
*Knust* - Mo 14.07.08 20:25
@Narses:
:P
Ich glaube du weißt, was ich meine ^^
@Yogu:
Danke, ich werds ma probieren aber erstma ohne Hooks, ist mir im Moment zu kompliziert...:P
mfg
Knust
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!