- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IEコンポーネントを使用したい???C言語windowsプログラム)
C言語WindowsプログラムでIEコンポーネントを使用する方法
このQ&Aのポイント
- C言語WindowsプログラムでIEコンポーネントを使用したい場合、ShellExecuteを使用してIEを開く際にページの表示完了を感知する方法があります。
- また、開いたIE内のページからテキストを取得する方法として、wininetを使用する方法がありますが、表示されているテキストが違う場合に対応できない可能性があるため注意が必要です。
- これらの方法を活用して、C言語Windowsプログラムで単語検索アプリを開発することが可能です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
MFC6のCHtmlViewを使えばIEのエンジンをビューとして組み込むことができるのですが、VC6以上でないとダメじゃないかな? 1. 例えばFindWindowを使ってこういう感じ char Str[128]; wsprintf(Str,"abc - Microsoft Internet Explorer"); CWnd* ieWindow=FindWindow(NULL,Str); abcのところにHTMLのヘッダータイトルを入れれば目的のウィンドウが見つかります。例えばこのページならば、「OKWeb Community - Microsoft Internet Explorer」になりますし、ページが開けなかった場合は、「サーバーが見つかりません - Microsoft Internet Explorer」で見つかります。 タイマーを組んでそこにこれを入れておいてチェックをかけていけば分かるでしょう。 でもこういう方法で目的のアプリができるかはちょっと分かりません。
補足
ShaneOMacさん、ご回答ありがとうございます。 今まで全く解らなかったので大きな前進になりました。ありがとうございます。 よろしければ、申し訳ございませんが、もう少しお力をお貸しいただけませんでしょうか。 >abcのところにHTMLのヘッダータイトルを入れれば目的のウィンドウが >見つかります。 とありますが、IEを開いたとき、または移動したときにプログラムにて自動で ヘッダータイトルを見つけて、それを入れることはできませんでしょうか? 検索アプリ上で、IEを起動するたび、ページを変えるたびに、手動でヘッダー タイトルを入れてください。とはできればしたくないので…。 また、IEを開いたとき、ページを変えたときに、IEのフレーム左下に 「ページが表示されました」と表示されますが、それを感知しする方法 (読みこみ等が終わる前に、ほかの自プログラムが動くとまずいので、 IEの読みこみ完了を確認するまで待つ方法)。 はございませんでしょうか? というのも、なにせ検索プログラムですので、色々と数をこなさなければいけないと思いまして。 タイマー使用では、回線や、ページ容量によって全読みこみ時間に大きな違いがあり、 安定して使えないと思います(タイマーで多く時間を取るというのもどうかと思いますし)。 私に知識が足りないばかりにおかしな質問もあるかも知れませんが、 はじめてのアプリ製作ですので、何卒ご容赦くださいませ。 よろしくお願いいたします。