Internet Explorer Webページのコントロールへのハンドルを取得する
-
19-08-2019 - |
質問
Windowsフォームアプリケーションに埋め込まれたInternet Explorerブラウザーがあり、このフォームのソースコードを変更する機能がありません。ただし、IEウィンドウへのハンドルを取得し、さまざまなSendInput
機能を実行できます。コントロールをクリックすると、TextBox
であるかどうかをどのように確認できますか?そして、その<=>に文字を送信するにはどうすればよいですか?
他の機能のためにすでに取得したIEウィンドウへのハンドルを使用する回答が必要です。必要な答えには、IEウィンドウへのハンドルが必要です。
解決
できません。 IExploreのコントロールは、Windowsコントロールではなくなりました。IExploreによってレンダリングされるカスタムエンティティであり、実際のWindowsコントロールに似ているだけです。
Webページ上のコントロールを操作する唯一の方法は、Internet ExplorerウィンドウのactiveXコントロールにアクセスし、IID_IWebBrowser2を要求し、その時点からドキュメントオブジェクトモデルの名前空間をナビゲートすることです。
<!> quotによる場合;このフォームのソースコードを変更する機能はありません<!> quot;コードがまったく異なるプロセスで実行されていることを意味する場合、非常に大きな問題が発生します。同じプロセスを実行している場合、WinFormsに、ActiveXコントロールのホスティングを強制するために使用できるAPIがある可能性があります。
この種の開発者に最適ではない言語を選択してください-c#-activexコントロールとの相互運用がいかに簡単または可能かについてアドバイスすることはできません。
他のヒント
http://watin.org/ は、Webブラウザにアクセスするための多くの可能性を提供します-わかりません他のアプリケーションに埋め込まれているものが含まれている場合。
どちらの方法でも、<!> quot; automate <!> quot;の方法に関する情報を入手できます。ブラウザウィンドウ。