Senden einer Anwendung Tastatureingaben mit "SendMessage" (vb.net)
Bisher habe ich alle behandeln die Erfassung und die gui einrichten. Ich bin ratlos, wie um die eigentliche Schritt.
Habe ich diesen code:
SendMessage(New IntPtr(CurrentHandle), WHAT,GOES,HERE?)
Habe ich:
http://msdn.microsoft.com/en-us/library/ms644950(VS.85).aspx
und
http://msdn.microsoft.com/en-us/library/ms644927(v=VS.85).aspx#system_defined
Jedoch keine geben, viel von der "code-Beispiel" - Methode, die ich brauche, um zu lernen, wie es zu tun. Ich brauche nur zu senden, wichtige Ereignisse wie das drücken der "/" oder "w" usw.. Nein, ich kann nicht sendkeys verwenden.
Dank, wenn Sie helfen können!
Sie können nicht senden Sie Tastenanschläge mit SendMessage(), die Sie nicht kontrollieren können den Status der modifier-Tasten. Halten Sie die Strg-Taste zum Beispiel. SendInput ist erforderlich.
InformationsquelleAutor FreeSnow | 2011-04-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Simuliert einen Tastendruck, würden Sie brauchen, um zu simulieren, ein keydown-und keyup-Ereignis, das würde was geben Sie in den Msg-Bereich. (Verwenden Sie 256 für keydown und 257 für keyup). wParam und lParam sind message-spezifisch, so dass für keyup und keydown, wParam würde den key-code (Finden Sie auf dieser Seite für den hexadezimalen codes) und lParam enthält sonstige Informationen (finden Sie auf dieser Seite). In vb.net Sie können einen int32-Wert für lParam. Zum Beispiel können Sie verwenden Sie 0 für keydown und 65539 für keyup.
Ex:
Wow, ich danke Euch so sehr. (Sieht auf den Ruf) herzlich Willkommen auf Stackoverflow! Ich hoffe, Sie genießen Sie die Website!
InformationsquelleAutor GregoryComer
http://msdn.microsoft.com/en-us/library/ms644950(v=vs. 85).aspx
hWnd ist das handle des Fensters, um die Nachricht zu senden.
Msg - geben Sie die Nachricht zu senden.
WParam und lParam sind im wesentlichen 'Informationen'. Die genaue Verwendung hängt von der Nachricht, die Sie senden.
Welcher situation sind Sie, dass Sie brauchen, um SendMessage verwenden, anstelle von Tastaturbefehle zum emulieren von Tastendrücken? Ich habe SendMessage vor, aber es ist immer für Mausbewegungen. .SendKeys() schicken soll, was Tastenanschlag Sie sagen es, um das aktive Fenster.
Habe ich die oben unmittelbar vor dem SendKeys() und es immer geklappt.
Wenn das nicht funktioniert, oder Sie wollen SendMessage verwenden, aus Gründen der Verwendung von SendMessage; die Dokumentation für WM_KEYDOWN-Nachricht ist, was Sie brauchen. http://msdn.microsoft.com/en-us/library/ms646280(v=vs. 85).aspx
Werden Sie die Manipulation von bits, die zum erstellen der richtigen lParam-Wert.
Dein link ist nicht wirklich mir helfen. Ich bin mir nicht sicher, was zu verwenden als input für die Funktion, die habe ich geliefert. Könnte Sie vielleicht geben Sie mir ein Beispiel senden ein gemeinsames Zeichen? (Wie 'A')?
InformationsquelleAutor Rob P.