Tastendruck simulieren



  • also ich weiss das Thema gabs shcon xxx mal hab mir auch alles durchgelesen bin auf 2 lösungen gestossen

    1

    keybd_event(VK_SPACE, 0, 0, NULL);
        keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);
    

    2

    SendMessage(hwnd,WM_KEYDOWN,VK_SPACE,0);
        SendMessage(hwnd,WM_KEYUP,VK_SPACE,0);
    

    leider klappt garnix von den 2 möglichkeiten 😞

    hoffe einer hat ne idee 🙂

    MfG CSpliFF



  • Rauch dir erstmal nen Spliff, dannach versuch's nochmal



  • 😮

    daran wirds wohl ned liegen 😉



  • Original erstellt von CSpliFF:
    hoffe einer hat ne idee 🙂

    Zählt SendInput() als Idee? 🙂



  • würd ich schon sagen 🙂

    Danke sarfuan
    für alle die es auch interssiert

    [cpp]
    SendInput
    The SendInput function synthesizes keystrokes, mouse motions, and button clicks.

    UINT SendInput(
    UINT nInputs, // count of input events
    LPINPUT pInputs, // array of input events
    int cbSize // size of structure
    );
    [/cpp]

    [ Dieser Beitrag wurde am 19.11.2002 um 17:57 Uhr von CSpliFF editiert. ]



  • also bei mir funzt auch

    {
    keybd_event(VK_TASTE,0,0,0);
    keybd_event(VK_TASTE,0,KEYEVENTF_KEYUP,0);
    }

    (VK_TASTE klaro ein Tastencode!)



  • hier, ich hab dir mal schnell ne funktion gemacht:

    void SimKeyPress(int vKey)
    {
        KEYBDINPUT ki={0};
    
        ki.wVk = vKey;
        ki.wScan = MapVirtualKeyEx(vKey, 0, GetKeyboardLayout(0));
    
        INPUT ipEvent;
        ipEvent.type = INPUT_KEYBOARD;
        ipEvent.ki = ki;
    
        SendInput(1,&ipEvent,sizeof(INPUT));
    }
    

    für vKey musst du dann den entsprechenden Virtual Keycode als Hexwert angeben (also 0x...)

    Eine Liste der vKey Codes findest du entweder in der MSDN oderhier

    [ Dieser Beitrag wurde am 20.11.2002 um 16:47 Uhr von k1ro editiert. ]

    [ Dieser Beitrag wurde am 20.11.2002 um 16:48 Uhr von k1ro editiert. ]


Anmelden zum Antworten