WM_KEYDOWN



  • Ich möchte an ein bestimmtes Fenster Tastendrücke senden. Auch wenn dieses Fenster nicht im Vordergrund ist, sollte das funktionieren. Weshalb geht dieses hier nicht?

    SendMessage (hwnd, WM_SETFOCUS, 0, 0);
        SendMessage (hwnd, WM_KEYDOWN, 'a', 0);
    

    Nun weiss ich nicht recht, ob das so wirklich nicht geht, oder ob es am lKeyData Parameter von WM_KEYDOWN fehlt:

    WM_KEYDOWN  
    nVirtKey = (int) wParam;    // virtual-key code 
    lKeyData = lParam;          // key data
    

    Habe übrigens auch schon versucht anschliessend wieder WM_KEYUP zu senden; das hilft nichts.
    Hat da jemand Erfahrung? - Also das Ziel wäre es, bei einem Fenster, von dem ich das Handle hab, die Entertaste simuliert zu drücken.
    - Adrian



  • Na so, jetzt hab ich den Fisch. Funktioniert prima; es reicht aber nicht, wenn man die Messages an das Hauptfenster schickt; man muss direkt an das Kontroll die Message schicken. Dazu muss man das HWND des Kontrolls z.B. mit FindWindowEx suchen.
    - Adrian


Anmelden zum Antworten