はじめましてm(__)m
eMbedded Visual C++4.0でプログラムしています。
そこでインタネットエクスプローラーを
例えばMSNなどを表示できるようにしたいです。
どうしたらよいでしょうか。
検索してみたら前のURLは古くなっていて見れないようでしたので・・・
プログラミング以外のご質問はご遠慮ください
#一応、プログラミングでは?
#以下、私の解釈
eMbedded Visual C++ 4.0で、
Internet Explorerのように、MSNのページを表示するなど
とにかく、ウェブページを見れるアプリを作りたいのですが
どうしたら、良いのでしょう??
#という、内容のように読み取りましたが?
その環境は詳しくないけど、COMは使えないのかしら?
わかりにくくてすいません。
reshiaさんの言ってる事をしたいんです。
internetOpen関数とかを使うみたいなのですが、
どこに書けばいいんでしょうか。
できればお願い済ます。
COMについては まだ勉強不足です、今から調べてみます
HINTERNET hInternetSession;
hInternetSession = InternetOpen(
TEXT(Microsoft Internet Explorer), // エージェント
INTERNET_OPEN_TYPE_PROXY, // アクセス タイプ
TEXT(http -gw), // プロキシ サーバー名(使用しない場合は NULL)
NULL,//プロキシ サーバーをバイパスするサイト(Windows CE では
//未サポートのため NULL )
0 // オプションを指定するフラグ(ない場合は 0 )
);
InternetCloseHandle(hInternetSession);
HINTERNET hHttpSession;
hHttpSession = InternetConnect(
//InternetOpenでオープンしたセッションのハンドルを指定します
hInternetSession,
TEXT( http://www.microsoft.com), // サーバー名
INTERNET_DEFAULT_HTTP_PORT, // ポート番号
NULL, // ユーザー名(匿名の場合はNULL)
NULL, // パスワード(匿名の場合はNULL)
INTERNET_SERVICE_HTTP, // 使用するサービス、プロトコル
0, // オプションを指定するフラグ(ない場合は0)
0); // コール バック関数に使用するコンテキスト値
InternetCloseHandle(hHTTPSession);
長くなりましたが、上記をそのまま使えばいいのでしょうか?
この場合はマイクロソフトに接続しているようですが。
これだと接続しただけで表示はしてませんよね??
これを何処に書けばいいのかもわからなくて・・・
まず、目的は「Web ブラウザを作りたい」でよろしいでしょうか?
お手軽な方法としては、既にあるブラウザコンポーネントを使う方法があります。
例えば IE で、Web ページを表示している部分は既にあるものを流用し、周りのツール
バーとか枠とかだけを自前のプログラムで用意する方法です。
お好みに応じて、Gecko(ネスケとか FireFox で使われているヤツ)を使うこともでき
ます。
この場合は COM を使います。IWebBrowser2 っていうインターフェイスがメインになる
はずです。
さて、InternetOpen やら何やらを使う方法ですが、こちらは単に、インターネットを通
じて、Web サーバからファイルを転送する仕組みでしかありません。
ダウンローダでも作るのならこっちの方が向いているのですが、これを Web ブラウザを
作るのに使うとなると、できるのはせいぜい、HTML のソースをダウンロードしてくるだ
けになります。
それを Web ページとして体裁を整えて表示するのは自力でやらねばならなくなります
が、おそらく労力はハンパじゃありません。
というわけで
「お手軽に Web ブラウザを作りたい」なら、IE コンポーネントや Gecko コンポーネン
トを使うのが良いと思われます。が、COM の知識が必要になります。
「InternetOpen を使いたい」なら…考え直しませんか?
VC++6などでは、MFCアプリケーションで、簡単なブラウザがウィザードで作成できるので、
そのソースコードを参考にするという手段もあります。
ちょっと探せば解説ページとか見つかりそうな気がします。
シャノンさん、PARTさん意見ありがとうございます。
InternetOpenは考え直しました、IEコンポーネントで頑張ってみます。
全く知らないので調べてみます。
ところでPARTさんが言うようにMFCを使えばいいのかもしれませんが
実はMFCの知識がまったくありません・・・。
やはりMFCができないと キツイんでしょうか。
キツイというよりも、もったいないというのが正解では。
MFCを使う事でかなりの省力化が望める事は事実ですから。
但し、MFCを使いこなすには、C++言語の知識が必須になりますので
C++言語の方の知識に自信が無いのであれば、そこから勉強する事になります。
Windowsアプリの基本的な仕組みとかがわかっているのであれば、
MFCが使えると鬼に金棒なので使えないよりは使えた方が良いでしょう。
使えないとだめかという話については賛否両論あるでしょうけれど。
そうなんですか・・・。
それではMFCの勉強もしてみます。
ちなみにIEコンポーネントもMFCを使った方が楽なんでしょうね。
後々の事もあるでしょうから勉強してみます。
> ちなみにIEコンポーネントもMFCを使った方が楽なんでしょうね。
楽だと思いますが、MFC を使わなかったとしても、IE コンポーネントは COM の技術の
上に成り立っているので、どちらにしても「オブジェクト指向的な書き方」は知らなけ
ればなりません。
C 言語 + Win32 API 風の書き方で COM を使うのは、逆に面倒くさそう。
とういう事はやはりMFCを勉強するのが最短の道という事ですね。
勉強してみます。
MFCを勉強している過程でまたわからない所が出てくると思いまので、
そのときはまたお願いします。
ありがとうございました。
ちなみにMFCを使わない方向で考えると
このサイト( http://www.nitoyon.com/vc/tips/ie_component.htm#howto2)
のIEコンポーネント2 の方法になるのでしょうか。
面倒くさいとは思いますがお願いします。
SDK で実装するとそんな感じになります。