Programm das Tastendrücke an Programm sendet



  • Hallo,
    da ich leidenschaftlich Onlinegames spiele, und immer das gleiche schreibe, wollte ich ein Programm erstellen, dass für mich schreibt.

    Ich denke mir das so:

    Ich öffne das Programm, dann kann ich in 5 Textfelder eine Tastenkombination eingeben, in fünf andere Textfelder gebe ich den text ein, der gesendet werden soll.
    Beispiel:

    [Alt]+[1] => "Ich habe noch genug Kraft für euch alle"
    [Alt]+[2] => "Das werde ich euch heimzahlen"
    [Alt]+[3] => "Ihr werdet schon sehen"
    [Alt]+[4] => "Das könnte euch so passen"
    [Alt]+[5] => "Damit habt ihr wohl nicht gerechnet"

    Wenn ich dann im Spiel auf [Alt]+[3] drücke, dann soll mein Programm das mitbekommen, und an das Spiel folgende Tastendrücke senden:

    tIhr werdet schon sehen[Return]

    (t um das Nachrichtenfenster zu öffnen, [Return] zum Absenden)

    Leider habe ich keine Ahnung wie ich das machen soll,
    vorallem weil ich glaube, dass
    jeder Buchstabe einzelnd an das Programm übermittelt werden muss.

    Aber ich glaube, dass dies schonmal der richtige Ansatz ist.

    HWND hwnd = FindWindow("IEFrame", NULL);
    if(hwnd)
    {
       SetForegroundWindow(hwnd);
       keybd_event(VK_F5, 0, 0, 0);
       keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0);
    }
    

    Aber ic weiß nicht, ob ich da etwas über #include einfügen muss.
    Auch weiß ich nicht, was ich statt IEFrame eingeben muss (Fenstertitel???????)



  • Hallo

    Aber ic weiß nicht, ob ich da etwas über #include einfügen muss.

    Ein

    #include <windows.h>
    

    sollte reichen, falls nicht bereits schon alle verwendeten Funktion durch die VCL bekannt sind.

    Auch weiß ich nicht, was ich statt IEFrame eingeben muss (Fenstertitel???????)

    Den Fenstertitel deines Spieles natürlich. Du wirst einsehen das wir nicht raten wollen?

    bis bald
    akari



  • Ok, danke, aber wie kann ich Tastendrücke abfragen und dann die Ansistings in Buchtsaben aufzuteilen?



  • FAQ->TastaturHook

    greetz KN4CK3R



  • Danke,
    aber wie kann ich die AnsiStrings in die Tastaturevents zerlegen, um Sie dann die einzugeben:

    keybd_event(VK_F5, 0, 0, 0);
    keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0);
    


  • Den AnsiString kann man mit Pos und einer Schleife zerlegen und danach der Keyboardevent-Funktion übergeben. Eventl. musst Du Dich noch über die virtuellen Tastencodes informieren.

    PS: Es sind noch Zahlen unbelegt. Die sollte man mit aufsteigenden Beleidigungen belegen.



  • Danke, und wie benutze ich dieses Pos?



  • Hallo

    Das steht in der Builder-Hilfe zu AnsiString.
    Allerdings brauchst du das hier gar nicht. Da du nur die einzelnen Chars brauchst must du nur den []-Operator auf den AnsiString verwenden. Das ganze in eine Schleife mitsamt den keybd_event-Aufrufen und fertig.

    bis bald
    akari



  • Also dann so?

    foreach(TextEdit1->Text as char buchstabe) {
    keybd_event(buchstabe, 0, 0, 0);
    keybd_event(buchstabe, 0, KEYEVENTF_KEYUP, 0);
    }
    


  • Hallo

    Fast. Die For-Schleife muß natürlich noch in C/C++ Syntax.

    bis bald
    akari


Anmelden zum Antworten