Laden...

Globaler Tastatur Hook - Tastendruck nur vom eigenen Programm verarbeiten lassen möglich?

Erstellt von can320 vor 4 Jahren Letzter Beitrag vor 4 Jahren 996 Views
C
can320 Themenstarter:in
151 Beiträge seit 2006
vor 4 Jahren
Globaler Tastatur Hook - Tastendruck nur vom eigenen Programm verarbeiten lassen möglich?

Mein Programm nutzt einen normalen Tastatur Hook, wie er hier beschrieben wird:
https://blogs.msdn.microsoft.com/toub/2006/05/03/low-level-keyboard-hook-in-c/

Kann man es irgenwie hinbekommen, dass nur das eigene Programm auf einen Tastendruck reagiert (in meinem Fall "Media-Taste-Nächster-Song") und alle anderen Programme diesen Tastendruck nicht mehr verarbeiten können, falls mein Programm diesen verarbeitet hat?

(return Inptr.Null oder einfach "CallNextHookEx" nicht aufrufen funktioniert NICHT)

4.939 Beiträge seit 2008
vor 4 Jahren

Du mußt eine Zahl ungleich 0 zurückgeben, s.a. Disabling keys using windows hooks bzw. direkt LowLevelKeyboardProc callback function.

Du solltest also z.B. return new IntPtr(1); verwenden.

Edit: C#-Beispielcode habe ich auch noch in Low-level Windows API hooks from C# to stop unwanted keystrokes gefunden (auch wenn dort ein Cast benutzt wird, aber den finde ich nicht schön).