Keyboardhook - KeyboardHookProc scheint nicht ausgeführt zu werden
-
Tach auch,
wie der Titel schon verrät bin ich dabei einen globalen Keyboardhook zu schreiben.
Erklärung:
Das soll kein Keylogger werden, sondern lediglich eine Möglichkeit festzustellen, ob der PC überhaupt verwendet wird.
Aus diesem Grund will ich immer wenn eine Tastatureingabe (und später auch eine Aktion mit der Maus) gemacht wird einen Dienst darüber benachrichtigen, der die Nutzung des PC überwacht. Bei längerer Nichtnutzung soll der Rechner dann heruntergefahren werden.
Also KEIN Keylogger!1. Ist ein Hook hierzu überhaupt sinnvoll, oder gibt es andere Möglichkeiten über Tastatur-/Mausnutzung informiert zu werden. (Wie gesagt es ist nur das DAS entscheident, nicht WAS gemacht wurde)
Für andere Vorschläge bin ich ganz Ohr.2. Ich habe mir also für den Anfang das Keyboardhook-Tutorial http://www.c-plusplus.net/forum/viewtopic-var-t-is-39383.html aus den FAQs vorgenommen.
Mein Problem ist nur, wo bekomme ich in der aufrufenden Anwendung ein HWND her? Ich habe ja eine Konsolenanwendung, da das mal ein Dienst werden soll. Also habe ich das mit dem HWND weggelassen - somit auch das SendMessage(..) und statt dessen einfach mal ein Beep(..) oder ein MessageBox versucht. Beides kam nicht.
In das SetupHook habe ich mir ein cout reingehängt, das kam - das cout in der KeyboardHookProc dagegen kam nicht.
Kann mir jemand sagen warum nicht?Ich hoffe ich konnte einigermaßen deutlich ausdrücken wo meine Baustellen sind und warte hoffnungsvoll auf viele gute Antworten.
Vielen Dank für Eure Mühe!
mischer
-
Hi,
Vielleicht hilft dir GetLastInputInfo() ja schon
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/getlastinputinfo.asp
-
Super,

das tut es. Damit hab ich zwar immer noch keine Ahnung warum der Hook nicht macht was er soll, aber das hier ist ohnehin viel besser für diesen Zweck.
Besten Dank, dafür kriegst de bei Gelegenheit mal n Bier

mischer