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.
    Hätte jemand eine Lösung für mein Problem?
    Mit freundlichen Grüßen : FreakY (in love Cpp) :xmas1:


  • Administrator

    a) Das hat nichts mit Standard C++ zu tun, oder? keybd_event ist eine WinAPI Funktion. Also falsches Forum ...
    b) keybd_event ist deprecated, verwende SendInput dafür.
    c) Ich habe dein Problem nicht annähernd verstanden. Die Sätze ergeben für mich teilweise nicht mal einen Sinn ...
    Ausser, aber nein, das kann nicht sein. Ist dein Problem die hexadezimale Schreibweise?
    0x0001 == 1
    0x0002 == 2
    0x0003 == 3
    ...
    0x000A == 10
    ...
    0x000F == 15
    ...
    0x2000 == 8192
    -> http://de.wikipedia.org/wiki/Hexadezimalsystem

    😕

    Grüssli



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten