Keyboard-Event



  • Guten Tag,
    ich möchte für ein Spiel ein Programm schreiben, das in den Chat folgendes schreibt :

    (enter).npc emote 1(enter)
    (sleep 200)
    (enter).npc emote 2(enter)
    ...

    Nun gibts aber ein "kleines" Problem. Sagen wir mein Programm sähe so aus :

    #include <iostream>
    #include <windows.h>
    
    int main()
    {
        for(int i = 0; i < 2000; i++)
        {
            keybd_event(VK_RETURN, 0x13, 0, 0);
            keybd_event(VK_RETURN, 0x13, KEYEVENTF_KEYUP, 0); //Enter Taste
            Sleep(1);
            keybd_event(0x46, 0x46, 0, 0);
            keybd_event(0x46, 0x46, KEYEVENT_KEYUP, 0); //"." Taste
            Sleep(1);
            ...
    
        }
    }
    

    Gehen wir davon aus, das Spielchen mache ich jetzt bis ".npc emote ". Nun kommen wir zu meinem Problem, der Zahl. Wie schreibe ich in dem keybd_event die jeweile Zahl von 1-2000 ? Ich kann leider nicht einfach

    keybd_event(0x01, ... 0x02 ... 0x03 ... 0x2000
    

    schreiben.
    Ich wüsste evtl. schon was. In C kann man folgendes machen

    int zahl = 1502;
    printf("Hexadezimalzahl : %x", zahl);
    

    Vielleicht gibt es also einen Weg, diesen ausgegeben HexaCode in einer anderen Variablen zu speichern und diesen in der keybd_event() Funktion zu benutzen.
    Mit freundlichen Grüßen : FreakY (in love Cpp) :xmas1:



  • Dein printf-Beispiel könntest du mit sprintf so umformen, dass du in eine Variable (String) schreibst, statt auf den Bildschirm. Aber ich verstehe nicht ganz, was du da an keyb_event übergeben willst. Einen String kannst du schlecht übergeben (VK-Codes, siehe Doku). Kommst du an das Window-Handle des Chat-Fensters? Dann mach's doch eher mit WM_SETTEXT oder so.


Anmelden zum Antworten