Frage

Ich habe einen Browser Internet Explorer in einer Windows-Embedded-Anwendung bildet und haben nicht die Möglichkeit, den Quellcode dieser Form zu ändern. Allerdings habe ich ein Handle auf das IE-Fenster bekommen und kann verschiedene SendInput Funktionen ausführen. Wenn ich auf einem Steuer klicken Wie kann ich feststellen, ob es sich um eine TextBox war, und dann, wie sende ich Zeichen in diesem TextBox?

Ich brauche Antworten, die ein Handle auf das IE-Fenster verwende ich für meine anderen Funktionen, die bereits erhalten haben. Die Antwort, die ich brauche muß einen Handle auf die IE-Fenster einzubeziehen.

War es hilfreich?

Lösung

Sie können nicht. Die Bedienelemente auf IExplore sind keine Fenster Kontrollen mehr - sie benutzerdefinierte Entitäten von IExplore gemacht sind, die lediglich ähneln tatsächlichen Windows-Steuerelemente

.

Die einzige Möglichkeit, mit den Steuerelementen auf einer Webseite zu interagieren, ist durch das Internet Explorer-Fenster ActiveX-Steuerelement zugreifen, fragen sie für IID_IWebBrowser2, und von diesem Punkt das Document Object Model Namespace navigieren.

Wenn durch „haben nicht die Möglichkeit, den Quellcode dieser Form zu ändern“ Sie meinen Ihr Code in einem ganz anderen Prozess ausgeführt wird, dann haben Sie ein sehr, sehr großes Problem. Wenn Sie im selben Prozess Theres eine gute Chance haben, dass der WinForms eine API hat man Zugang zu zwingen nutzen könnte, um jede activex sein Hosting steuert.

c # - -

Ihre suboptimale Wahl der Sprache für diese Art von Entwickler gegeben. Ich habe keine Ratschläge, wie einfach oder möglich Interop mit ActiveX-Controls geben kann sein wird,

Andere Tipps

http://watin.org/ gibt Ihnen viele Möglichkeiten Web-Browser zugreifen - nicht wissen, wenn das die, die umfasst in anderen Anwendungen eingebettet ist.

So oder so, können Sie einige weitere Informationen dort bekommen, wie ein Browser-Fenster zu „automatisieren“.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top