Einfügen von text in das Textfeld einer anderen Anwendung
Wie kann ich mit C# oder C++, einfügen von text in das Textfeld einer anderen Anwendung?
Ich Tat dies vor langer Zeit und schien sich an etwas zu erinnern über die Verwendung der Anwendungen HWND. Aber seit dieser änderung für jede Instanz der Anwendung habe ich das Gefühl, dass ich fon nicht erinnern, die komplette Geschichte. Kann ich irgendwie eine Liste der Laufenden apps, extrahieren, den ich will, bekomme die HWND-Eigenschaft aus, und dann... hmm.... was dann? 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden FindWindowEx() zu finden, das handle (HWND) und senden Sie dann die WM_SETTEXT Nachricht mit SendMessage()
Wenn mit FindWindowEx müssen Sie zuerst finden Sie die wichtigsten Fenster-handle mithilfe seiner Klasse name. Dann müssen Sie das handle von welchem container die textbox ist, ruft FindWindowEx, übergeben das handle des übergeordneten Elements (die Fenster), und der name der Klasse des Containers. Wiederholen Sie dies, bis Sie das Textfeld. Sie können ein tool namens Spy++, der standardmäßig installiert wird, die mit Visual Studio zu inspizieren, um die Ziel-Anwendung und finden Sie heraus, die Hierarchie von Containern (alle Objekte sind wirklich als windows in der API, aber ich rufe Ihnen Container in Kontrast mit der top-level-Fenster) mit Ihren Klassennamen.
Dann SendMessage(), WM_SETTEXT
Statt sich auf eine bestimmte app, die Sie konnte einfach nur senden von Tastatureingaben an das Textfeld.
können Sie ClipBoard-Klasse um das gleiche zu erreichen