myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: Windows-Forms » Globaler Tastatur Hook - Tastendruck nur vom eigenen Programm verarbeiten lassen möglich?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

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

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
can320
myCSharp.de-Mitglied

Dabei seit: 03.02.2006
Beiträge: 146


can320 ist offline

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

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Mein Programm nutzt einen normalen Tastatur Hook, wie er hier beschrieben wird:
 https://blogs.msdn.microsoft.com/toub/20...oard-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)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von can320 am 30.10.2019 20:16.

30.10.2019 20:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.471
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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).

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Th69 am 31.10.2019 08:59.

31.10.2019 08:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 3 Monate.
Der letzte Beitrag ist älter als 3 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 29.02.2020 09:59