![]() |
Tasten abfangen / Frage zu Hooks
Hi,
wie der Titel sagt, möchte ich Tastendrücke abfangen... soweit so gut, das funktioniert auch schon per hook-dll, wie es im hier oft verlinkten Tutorial erklärt ist ;) Was ich jetzt gern machen würde: Angenommen ich fange das "A" ab... wenn ich jetzt das A drücke, will ich entscheiden können, ob ein "A" an die Anwendung geschickt wird, die grade offen ist, oder ob das A NUR eine Aktion in meinem Programm auslöst und ansonsten völlig ignoriert wird. Anderes Beispiel: Taste ist wieder das A Taste A wird gedrückt -> "A" wird an die Anwendung geschickt Taste A wird länger als 2 Sekunden gehalten -> Funktion wird ausgelöst, aber "A" wird nicht mehr geschickt Ich hoffe, das war halbwegs verständlich... :) Jedenfalls fehlt mir da der entscheidende Hinweis, wie das zu bewerkstelligen ist.. per Suche hab ich leider nix gefunden. |
Re: Tasten abfangen / Frage zu Hooks
Hi!
Kannst du mit dem Hook KeyDown und KeyUp abfangen? Dann kannst du die Zeitdifferenz berechnen. Ciao Frederic |
Re: Tasten abfangen / Frage zu Hooks
Hm.. das Hauptproblem ist ja, dass ich nicht weiß, wie ich die Taste komplett abfangen kann, d.h. dass unter bestimmten Umständen kein "A" geschrieben wird, um beim Beispiel zu bleiben.. :)
|
Re: Tasten abfangen / Frage zu Hooks
also ich kenne mich mit hooks so gut wie garnicht aus, aber klappt es evtl wenn du im Messagehandler des Hooks das CallNextHookEx weglässt? Denn soweit ich verstanden habe, wird dadurch doch das abgefangene an den nächsten Hook weitergegeben und sonst halt nicht oder?
ansonsten kannst du die abgefangene Taste vielleicht einfach durch ein #0 ersetzen und dann weitergeben? |
Re: Tasten abfangen / Frage zu Hooks
In meinem Message-Handler gibts den Aufruf garnicht.. :)
Und leider auch keine Variable, die mir die Taste nennt. Die wird als lparam einer TMessage übergeben, und der scheine ich dummerweise nix zuweisen zu können oder es hat keine Auswirkung.. keine Ahnung. |
Re: Tasten abfangen / Frage zu Hooks
Hi Cubbie,
Schau dir doch mal die Komponente ![]() Diese gibt dir sicher Ideen, wie du deinen Hook implementieren kannst und hilft dir dein Problem zu lösen. |
Re: Tasten abfangen / Frage zu Hooks
Bei meinem Hooktut ist ein Beispiel eines Keyloggers dabei. Der loggt die Up/Down-Ereignisse. Du kannst das als Basis für dein Problem nehmen.
Nur eine Taste kann gleichzeitig "Down" sein, es sei denn es handelt sich um eine Escape-Sequenz (Strg/Alt/Alt Gr usw) wo dann zu dem Buchstaben noch ein Flag dazukommt, welches die Ausgabe modifiziert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz