こんにちは。いつも拝見させていただいております。
早速ですが、既に立ち上がっているIEを操作したいと考えております。
やりたい事は、特定のページが開かれたら特定のページに飛ばす。という事です。
プログラム自身がIEのウィンドウハンドルを持っているとして
SendMessage等でメッセージを送信してページを移動させると言った事は可能でしょうか?
また、IEから情報を取ってくる(現在のページと履歴など)事など出来ますでしょうか?
ご存知の方いらっしゃいましたら、宜しくお願いします。
回答ではありません
>やりたい事は、特定のページが開かれたら特定のページに飛ばす
IEの乗っ取り技術に関連するようなのは、回答してくれる人いないと
思います
誇大的(私のような考え)の人は犯罪加担になると思ってしまいます
実現できるなら、「特定のページ」で無くとも
常に「特定のページに飛ばす」ことが出来ますから...
atlのプロジェクトで、[Internet Explorer?」を挿入すれば、いろいろとできる。
これを挿入してみて、codeguru辺りで、調査するほうが楽。
もし、必要なら、IEコンポーネントを埋め込んだ独自のブラウザを用意し、
そちらを使わせるようにした方が楽な場合があるかもしれません。
# 用途による。
ウィンドウハンドルからは、IE を満足に制御できません。
IE や Office は、「オートメーション」という技術を使うことによって他のアプリケー
ションと連携できるように設計されているので、それを使います。
「オートメーション」による操作を行うためには、操作対象となるアプリケーションが
公開する操作用の「インターフェースポインタ」を入手しなくてはなりません。
通常、インターフェースポインタは、操作対象のアプリケーションインスタンスの作成
時に入手できます。
実行中の IE の「インターフェースポインタ」を取得するのは多少面倒です。
codeguru にサンプルがあったと思うので、探してみてください。
で、IE が公開する「インターフェースポインタ=IWebBrowser2」が入手できれば、指定
の URL を表示させるのは簡単です。
IWebBrowser2::Navigate2() メソッドを呼び出せば、指定の URL を表示させることが出
来ます。
皆様回答ありがとうございます。
codeguruが何か良くわからないのですが、それらしいサイトに行き、
それらしいサンプルにお目にかかることが出来ました。
これから解析し、理解したいです。いろいろ、ご親切にありがとうございました。