Problem mit Tastenkombination per WinApi[gelöst]



  • keybd_event(VK_MENU, 0, 0, 0);
    			keybd_event(VK_NUMPAD2, 0, 0, 0);
    			keybd_event(VK_NUMPAD2, 0, KEYEVENTF_KEYUP, 0); 
    			keybd_event(VK_NUMPAD9, 0, 0, 0);
    			keybd_event(VK_NUMPAD9, 0, KEYEVENTF_KEYUP, 0); 
    			keybd_event(VK_NUMPAD1, 0, 0, 0);
    			keybd_event(VK_NUMPAD1, 0, KEYEVENTF_KEYUP, 0); 
    			keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
    

    Ich versuche gerade, diese Tastenkombination per Programm beim Editor zu simulieren. Es funktioniert aber nicht. Es soll das Zeichen Alt+291 ausgegeben werden. Wo liegt das Problem?

    Danke.



  • </begin joke>
    Hmmm,
    wo sehe ich hier die Information, daß auch die "Alt"-Taste gedrückt sein soll?
    <end joke/>

    Nun, mal im Ernst:
    Warum sendest Du nicht gleich EINE Taste mit diesem ASCII-Code 291?
    Und zwar am besten mit SendInput(), dieser versteht auch Scancode-tasten und Unicode-Zeichen.

    Martin



  • Ich habs leider nicht ganz hingekriegt...

    #define _WIN32_WINNT 0x0500
    #include <windows.h>
    #include <time.h>
    
    int main()
    {
        INPUT InputData;
        int iEvents;
    	HWND hwnd = FindWindow(0,"Unbenannt - Editor");
    	SetForegroundWindow(hwnd);
    	SetFocus(hwnd);
        InputData.type = INPUT_KEYBOARD;
        InputData.ki.wVk = 291;
        InputData.ki.wScan = 0;
    	InputData.ki.dwFlags = 0;
        InputData.ki.time = time(NULL);
        InputData.ki.dwExtraInfo = 0;
    
        iEvents = SendInput(1, &InputData, sizeof(InputData));
    
        return 0;
    }
    

    Was ist falsch? Wie kann man den Unicode-Code übergeben?

    EDIT:
    Ah, habs jetzt...



  • Hi

    Mir kann es eigentlich egal sein, doch andere die das gleiche Problem, oder ähnliches haben, wüssten vielleicht auch gerne wie du es gelöst hast. Also Poste deine Lösung auch.
    Aber solche Threads sind sicher zu genüge hier (ohne das verifiziert zu haben).

    lowbyte


Anmelden zum Antworten