Suche Alternative zu keybd_event()



  • Hi,

    ich bin auf der Suche nach einer Alternative zum keybd_event() um Tastenanschläge in einem anderen Programm zu simulieren.

    Bisher hat mir die Funktion immer treue Dienste geleistet nur will sie keine Tasten-Anschläge in einem bestimmten Spiel simulieren. Die Zeitvarianz zwischen Tastendruck und Tastenlösen habe ich auch bereits mit Sleep verändert, was mich aber nicht weiter brachte.

    Danke im Voraus
    ravel


  • Mod

    Hallo

    vermute das, das mit SendMessage funktioniert

    MfG
    Klaus



  • Hi,

    erstmal vielen Dank für deine Hilfe, ich habe jetzt testweise dies probiert:

    HWND hwnd = Memo1->Handle;
    SendMessageA(hwnd ,WM_CHAR,'a',5);

    Nun hab ich ein paar Fragen:
    -Was sagt die 5 am Schluss aus?
    -Wie finde ich den hwnd eines Programms raus, wie z.B. vom Internet Explorer

    Vielen Dank
    ravel



  • 1.) Schau in der Hilfe zu WM_CHAR nach.
    2.) FindWindow() oder EnumWindows() <- Auch in der Hilfe nachschauen!



  • Der Doppelpost tut mir leid, ich hab ne Fehlermeldung vom Forum bekommen.



  • Hi,

    also nach langem probieren habe ich in einem anderen Quelltext sowas hier gefunden, was auch endlich funktioniert 🙂

    keybd_event('1',MapVirtualKey('1',0),0,0);
    

    Aber ich möchte gerne verstehen was das MapVirtualKey macht.

    Die Hilfe sagt mir folgendes:

    The MapVirtualKey function translates (maps) a virtual-key code into a scan code or character value, or translates a scan code into a virtual-key code.

    Ich verstehe darunter, dass die MapVirtualKey-Funktion einen virtuellen Tastencode in einen "scan-code" übersetzt oder andersrum.

    Kann mich jemand darüber aufklären, was ein scan-code ist und warum es nur so funktioniert hat?

    Vielen Dank
    ravel


Anmelden zum Antworten