Wie zum senden von Strg/Shift/Alt + Taste Kombinationen, um eine Anwendung Fenster? (via SendMessage)

Ich erfolgreich senden können jede einzelne Taste Nachricht, um eine Anwendung, aber ich weiß nicht, wie das senden von Tastenkombinationen (wie Strg+F12, Shift+F1, Strg+R, etc..)

Versucht, es zu tun auf diese Weise:

SendMessage(handle, WM_KEYDOWN, Keys.Control, 0);
SendMessage(handle, WM_KEYDOWN, Keys.F12, 0);
SendMessage(handle, WM_KEYUP, Keys.F12, 0);
SendMessage(handle, WM_KEYUP, Keys.Control, 0);

aber das scheint nicht zu funktionieren (Anwendung wirkt, wie nur die F12 gedrückt wird, nicht Strg+F12).

Irgendwelche Ideen, wie diese Arbeit zu machen?

mögliche Duplikate von PostMessage WM_KEYDOWN senden multiplizieren Schlüssel?
es gibt keine anwser für die Frage in diesem Zusammenhang.
Die Antwort ist die Verwendung SendInput. Ich schaute in den Schlüssel-codes, die SendMessage verwendet, und Sie sind tatsächlich Verschieden von der Keys enum, Sie sind 8-bit. Das heißt, Sie können nicht bitweise oder zum senden von zwei Tasten gleichzeitig (wie ich vorgeschlagen hatte in meiner Antwort).
die OP hat nicht der Staat seine Anforderungen klar. Ich bearbeitet meine Antwort, um zu zeigen, dass das, was er sich wünscht, ist nicht möglich, auf jeder beliebigen version von Microsoft Windows.

InformationsquelleAutor user1792042 | 2012-11-02

Schreibe einen Kommentar