0

WindowsフォームアプリケーションにInternetExplorerブラウザーが埋め込まれていますが、このフォームのソースコードを変更することはできません。しかし、私はIEウィンドウのハンドルを取得しており、さまざまなSendInput機能を実行できます。コントロールをクリックした場合、それがであったかどうかを確認するにはどうすればよいですか。また、コントロールTextBoxに文字を送信するにはどうすればよいTextBoxですか。

他の機能のためにすでに取得したIEウィンドウへのハンドルを使用する回答が必要です。私が必要とする答えは、IEウィンドウへのハンドルを含まなければなりません。

4

2 に答える 2

0

できません。IExploreのコントロールは、Windowsコントロールではなくなりました。これらは、実際のWindowsコントロールに似ているだけで、IExploreによってレンダリングされたカスタムエンティティです。

Webページのコントロールを操作する唯一の方法は、Internet ExplorerウィンドウのActiveXコントロールにアクセスし、IID_IWebBrowser2を要求し、その時点からドキュメントオブジェクトモデルの名前空間をナビゲートすることです。

「このフォームのソースコードを変更する機能がない」とは、コードがまったく異なるプロセスで実行されていることを意味する場合、非常に大きな問題が発生します。同じプロセスを使用している場合は、WinFormsにAPIがあり、ActiveXコントロールへのアクセスを強制するために使用できる可能性があります。

この種の開発用の言語の選択が最適ではないことを考えると(c#)、ActiveXコントロールとの相互運用がどれほど簡単または可能になるかについてアドバイスすることはできません。

于 2009-03-18T12:06:16.123 に答える
0

http://watin.org/は、Web ブラウザーにアクセスするための多くの可能性を提供します。他のアプリケーションに組み込まれているものが含まれているかどうかはわかりません。

どちらの場合でも、ブラウザ ウィンドウを「自動化」する方法に関する詳細情報を得ることができます。

于 2011-06-15T15:00:39.190 に答える