keybd_event Fehler



  • Also ich hab das so gemacht

    char buffer[7] = "hhm,.m";
    
    for(int a=1; a<=7; a++)
    {
       keybd_event(VkKeyScan(buffer[i]), 0, 0, 0);
    }
    
    keybd_event(VK_RETURN, 0, 0, 0);
    

    Wenn ich die Funktion jetzt ausfuehre bekomme ich

    warning C4244: 'argument' : conversion from 'short' to 'unsigned char', possible loss of data
    

    Das ist aber nich das Problem sondern die Ausgabe ist hier :

    hm,.m2

    anstatt

    hhm,.m

    Woran liegt das ?
    Scheint mir immer dann wenn 2 Zeichen die gleich sind aufeinanderfolgen , einen Bug ergeben 😕



  • Ha ?, deine Zählervariable im Schleifenkopf ist a und als Array-Index nimmst du i 😮

    BTW: Ein Array beginnt immer bei 0. Also so:

    TCHAR szBuffer[10];
    szBuffer[0] = 'A',
    szBuffer[1] = 'B',
    // usw.
    

    Du initialisierst a aber mit 1 ⚠ . ➡

    Hm anyway, so sollte es gehen:

    char buffer[7] = "hhm,.m";
    
    for(int i = 0; i < 6; i++)
    {
       keybd_event(VkKeyScan(buffer[i]), 0, 0, 0);
    }
    
    keybd_event(VK_RETURN, 0, 0, 0);
    

Anmelden zum Antworten