Tastaturbefehle manipulieren...
-
Hi !
Ich hab da so ein Problem:
Eine Taste meiner Laptoptastatur hat einen Wasserschaden, eine Reparatur
ist mir zu teuer. Also wollte ich mir ein Programm schreiben, welches immer
im Hintergrund läuft und die defekte Taste durch eine einfache
Tastenkombination ersetzen kann. Dazu muss das Programm
allerdings alle Tastatureingaben einlesen könnnen, ohne sie aus
der Windows-Nachrichtenschleife zu entfernen, und eine festgelegte Tastenkombination erkennen können... im letzten schritt muss dann das Zeichen,
welches für die Kombination festgelegt wurde noch in die Windows-Nachrichtenschleife eingefügt werden, damit es dann von anderen Programmen
verwendet werden kann. dazu darf das Programm natürlich den Tastaturfokus
nicht besitzen. Leider kenne ich die Win-Api Funktionen nicht, mit denen man
dies tun könnte. Kann mir da vielleicht jemand weiterhelfen ? ich währe
jedenfalls sehr dankbar !
gruss - Richi
-
http://www.codeproject.com/w2k/AntonioWinLock.asp
http://www.codeproject.com/dll/hooks.asp
http://www.codeproject.com/dll/keyboardhook.asp
(vielleicht findest Du dort einen Ansatz)
-
Vielen Dank !
Übrigens ... war es ein grosser Zufalls, dass ich gerade eben noch in die
Tutorials von Erhard Henkes geschaut hab, weil ich die noch nich kannte
(den link hab ich ein paar threads weiter unten gefunden bei "WinApi Tutorial")
... kurze zeit seh ich hier gleich einen threat
-
Danke, das hat mir schonmal weitergeholfen !
nun habe ich aber noch das Problem, dass
ich ein Zeichen in die Windows-Nachrichtenschleife
einfügen muss
-
keybd_event
-
sorry, wenn ich euch nochmal nerve, aber mein Problem ist, dass ich
per keybd_event das fragezeichen, den Backslash und das 'ß' senden will ...
es gibt aber keine entsprechenden VK_ konstanten dafür.
was muss ich genau tun, um mein vorhaben trotzdem durchführen zu können ?
-
Du könntest mit Spy++ eine WM_KEYDOWN-Nachricht loggen, die generiert wird, wenn du 'ß' drückst. Den Key-Code kannst du dort direkt ablesen.
Oder probier mal den ANSI-Code, also schreib im Quellcode 'ß'.edit: Der ANSI-Code wird wahrscheinlich nicht funktionieren. Probier Spy++.