Geben wie die Eingabe einer windows-Anwendung programmgesteuert?
Dies ist mit Bezug auf diese Frage:
Wie zu Lesen, Ausgang und Impulse zu geben, um ein Programm aus dem c-Programm?
Fand ich die Antwort auf die obige Frage sehr nützlich. Auf die gleiche Weise kann ich tun es für windows-Anwendungen? Wie kann ich die Eingabe in einer Windows-form (wie .net, C# - Anwendungen) Anwendung Textfeld programmgesteuert? Kann ich die Aktion von button-Klick von einem Programm?
Wenn das so ist, kann ich es von einem C-Programm (mit Kleinen C-compiler oder jede andere auf der windows-Plattform)? Wenn nicht, wie und in welchen Sprachen kann ich es tun? Bitte nehmen Sie es nicht als eine dumme Frage. Alle Beispiel-codes werden sehr geschätzt.
Bearbeiten: Kann ich das gleiche tun mit web-Anwendungen und web-Seiten?
- Genau das, was sind Sie versuchen zu erreichen? Ist dieser für die Prüfung, oder muss Sie einfach nur machen zu müssen, die die Funktionalität der windows-forms-Anwendung aus einem anderen Programm? Wenn letzteres, dann könnte man das hosten eines WCF-Dienst in der Windows Forms-Anwendung und nennen Sie es von anderen Programmen. Gleich mit einer web-Anwendung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihre Anwendung hauptsächlich nur Bedürfnisse zu manipulieren, andere Fenster, durch das senden von Tastatureingaben etc. ich würde AutoIt. Es ist hauptsächlich Funktion ist genau dieser job und es tut sehr gut.
Vielleicht sollten Sie es versuchen, Ursache nicht jedes problem ist ein Nagel und kann gelöst werden mit einem hammer (C#) ;-))
Können Sie alle aufzuzählen, die windows des Systems.
Sie können senden Sie windows-Meldungen an alle Fenster.
E. g. um den text einer textbox senden Sie eine WM_SETTEXT Nachricht.
FYI: Winspector ist ein sehr Interessantes Werkzeug, das macht starken Gebrauch von diesem (auch Debuggen, oder andernfalls prüfen Sie zunächst die windows-Sie versuchen, programmgesteuert Zugriff).
Könnten Sie auch interessieren diese:
Als fretje darauf hingewiesen, können Sie sicherlich tun.
Es ist viel mehr eine Herausforderung für windows-apps. Da die einzelnen Steuerelemente gelten auch als windows, das gesamte Fenster zu zählen sein wird, viel höher als man erwarten könnte; und das finden der spezifischen Kontrolle, die Sie senden möchten, um die Eingabe zu können, nehmen eine Menge Arbeit.
Aber Sie können programmgesteuert verschieben, vergrößern, verkleinern, prüfen, füllen, maximieren oder anderweitig beeinflussen, eine app für windows, sobald Sie wissen, welche ist Ihr Ziel.
Ich schrieb code zu tun, den discovery-Prozess vor ein paar Jahren. Er fand alle Fenster der Ziel-app, dann Ihre Größe & Standortdaten, produziert eine transluzente überlagerung der einzelnen child-Fenster zusammen mit der handle-Nummer. So konnte ich optisch sagen die Steuerung ging mit dem Griff.
EDIT: Hinzugefügt einige code. Dies ist einige grundlegende C# interop-code, machen Sie einfach anrufen in user32.dll mit den fns an die fretje bezeichnet. Dies nur gibt Ihnen die grundlegenden Aufrufe für die Entdeckung und manipulation; Sie haben immer noch zu tun, die harte Arbeit aufzählen und untersuchen, was Sie finden. Wenn Sie einen 3rd-party-Paket, dass der job für Sie, sparen Sie sich die Mühe; ich Tat es nur, als eine Lernerfahrung, und es war ziemlich mühsam.
Schauen Sie sich die folgende Frage ALSO. Es gibt zahlreiche Hersteller und open-source-tools tun dies für Sie, so dass Sie nicht haben, um code für die Win32-API.
für das automatisierte testen von windows-forms