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





  • 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++.


Anmelden zum Antworten