VB.NET Registerkarte "Senden" - Taste zu einem anderen Programm-Fenster
Will ich senden "{TAB}" - Taste, um eine andere Anwendung Fenster(senden Sie die-Taste, um das Fenster nicht zu textbox).
Habe ich versucht:
SendMessage(hWnd, WM_SETHOTKEY, VK_TAB, 0)
Nichts passiert.
mein Ziel ist:
Registerkarte "senden" - Taste, um meine Anwendung Oder anderen Anwendung, wenn die Anwendung Fenster nicht im Fokus.
(ich weiß, dass sendkey ist nicht Professionell in diesem Fall gibt es keine Wahl(Dies ist das erste mal, dass ich bin, es zu verwenden).)
Machte ich viele versuche und immer kehrte ich zurück zu dem gleichen Ergebnis:
Nichts passiert.
Kennt jemand die Antwort?
InformationsquelleAutor Nmmmm | 2012-10-30
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
SendKeys erfordert die Anwendung, die Sie senden die Tasten, um aktiv zu sein.
Vom oben genannten Link:
Ich, um zu bekommen, um diese Einschränkung müssen Sie greifen, um mit den WinApi Funktionen.
Sehen diese MSDN-Forum Posten für ein Beispiel
Hier ist ein modifiziertes Beispiel aus, dass ein Posting:
Ein Zusätzliches Beispiel für die Verwendung
WM_KEYDOWN
erstellte ich eine weitere kleine Anwendung mit dem Fenstertitel gesetzt TestForm und überschrieb die WndProc-Methode, um festzustellen, ob die Anwendung der TabKey.Senden Formular
Test Form
Setzen einen breakpoint auf MyBase.WndProc(m) und betrachten Sie m, um zu sehen, was gesendet wurde.
Mit Mühe mit dieser Art von diese ein paar mal vor, ich würde vorschlagen, ein paar Dinge zu betrachten.
Der 1. ist autoit die enthält eine dll, die Sie referenzieren kann vb.net und ist sehr einfach und gut dokumentiert. Ich Neige dazu zu verwenden, dass, Wann immer ich brauche, um die Kontrolle über eine 3rd-party-Programm.
Die andere ist die ui-Automatisierung-Klassen
Sehen Sie diesen ein Beispiel:
http://blog.functionalfun.net/2009/06/introduction-to-ui-automation-with.html
müssen Sie das andere Fenster aktiv ersten. überprüfen Sie Ändern Sie den Fokus zu einem anderen Fenster in VB.NET . dann verwenden senden-Taste.