Forum: Programmieren allgemein
by Sir Rufo,
18. Dez 2013
Bist du dir sicher, dass du weißt, was du da gerade tust? :gruebel:
Ich fürchte mal nicht ... denn
WH_MOUSE_LL -> MSLLHOOKSTRUCT
WH_MOUSE -> MOUSEHOOKSTRUCT
Du sprichst immer von globalen (also den LowLevel) Hooks, benutzt aber die Struktur für den normalen Hook.
Forum: Programmieren allgemein
by Sir Rufo,
16. Dez 2013
Wenn ich so etwas implementieren müsste, dann würde pro Session eine Anwendung (definitiv kein Dienst) laufen, die einen Keyboard-Hook hat. Diese Anwendung kann dann auch schauen, welche Anwendung zum Zeitpunkt des Hook-CallBack-Aufrufs gerade im Vordergrund ist.
Da ja schon eh eine kleine Anwendung laufen soll (die mit dem Trayicon), wäre genau diese der richtige Ort.
Forum: Programmieren allgemein
by Sir Rufo,
16. Dez 2013
So wie hier schon die ganze Zeit geschrieben
Problematisch ist nur, dass du dich in einem Dienst befindest und der hat keine aktiven Anwendungen ... bzw. der sieht nicht das, was du möchtest, dass er sieht ;)
Forum: Programmieren allgemein
by Sir Rufo,
16. Dez 2013
Das wird schwierig, denn das soll ja in einem Dienst laufen ... ;)
Forum: Programmieren allgemein
by Sir Rufo,
16. Dez 2013
Weil die Nachricht vom Betriebssystem kommt und von keinem Programm.
Man kann sich in diese Nachrichtenschlange einhängen (hooken) also einen Einhänger (Hook) dort reinsetzen, da es sich um einen spezielle Nachrichttypen (WH_*) handelt, wo man sich einhängen kann.
Siehe Hooks
Dein Denkfehler ist, dass das Tastaturereignis von einer Anwendung kommt.
Es ist aber genau umgekehrt. Die...