In
diesem Thread geht es ab ca. Seite 2 um etwas ähnliches. Ich denke dabei in diese Richtung:
0) Globaler Tastatur-Hook vorausgesetzt
1) Top-Level Fenster ermitteln
2a) Ist es das in dem die Eingabe okay ist, einfach tatenlos die Hookchain laufen lassen
2b) Ist es das in dem die Tasten getauscht werden sollen, weiter mit 3
3) Durch in o.g. Thread genannte Möglichkeit die Chain unterbrechen (=der Tastendruck kommt nicht im Programm an)
4) Geänderte Taste mittels
SendInput auslösen
Ich bin allerdings nicht sicher, ob man nicht gleich einen
LowLevel Hook (2. Eintrag) nehmen kann, bzw. ob Änderungen an den Werten in der übergebenen
KBDLLHOOKSTRUCT eine Auswirkung auf die weitere Verarbeitung haben. Dann könnte man einfach dort ansetzen, und müsste nicht erst noch mit SendInput rumfummeln. Nachteil bei den LowLevel Hooks: Man muss ein paar Konstanten und Structs selbst deklarieren, da man diese in Borland wohl für nicht sehr wichtig hielt
.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)