Wie kann ich mit C # oder C ++ Text in das Textfeld einer anderen Anwendung einfügen? Ich habe das vor langer Zeit gemacht und schien mich an etwas über die Verwendung der Anwendungen HWND zu erinnern. Aber seit dieser Änderung für jede Instanz der Anwendung fühle ich, dass ich mich nicht an die komplette Geschichte erinnere. Bekomme ich irgendwie eine Liste laufender Apps, entpacke die eine, die ich will, besorge mir die HWND und dann ... hmm .... was dann? :)
Verwenden Sie FindWindowEx () , um das Handle zu finden ( HWND) und senden Sie dann die Nachricht WM_SETTEXT mit SendMessage ()
Wenn Sie FindWindowEx verwenden, müssen Sie zuerst das Handle des Hauptfensters finden, indem Sie seinen Klassennamen verwenden. Dann müssen Sie nach dem Handle des Containers suchen, in dem sich die Textbox befindet, indem Sie FindWindowEx aufrufen, das Handle des übergeordneten Elements (das Fenster) und den Klassennamen des Containers übergeben. Sie müssen dies wiederholen, bis Sie die Textbox erreichen. Sie können ein Tool namens Spy ++ verwenden, das standardmäßig installiert ist mit Visual Studio, um die Zielanwendung zu untersuchen und die Hierarchie der Container (alle Objekte werden wirklich Fenster in der API, aber ich rufe sie Container im Gegensatz zu der obersten Ebene Fenster) mit ihren Klassennamen.
Sie können die ClipBoard-Klasse verwenden, um dasselbe zu erreichen
Tags und Links c# c++ ipc inter-process-communicat hwnd