• 締切済み

C++でWEBブラウザを作成する

Visual C++ Express 2010 でWEBブラウザを自作しようと思っているのですが、 ブラウザの要となるテキストバーを設置して、 そこにアドレスまたは日本語などの値を入力し、検索ボタンを押下して、 アドレスバーの下に設置したフォームに、 その検索結果を表示させるにはどうすればいいでしょうか? 宜しくお願いします。 まだ具体的な機能は付加していません(とりあえず必要と思うものを予め名前をつけている)が。。

みんなの回答

  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.4

#2です。 Webbrowserコントロールでは、レンダリング結果がIEと完全に一致してしまいますが 許容範囲内でしょうか。 (Javascript無効設定などもIE側の設定に引っ張られたような……) もし自前ということであれば、オープンソースのエンジンをベースにすると コストダウンが図れると思います。 ・Webkit http://ja.wikipedia.org/wiki/WebKit ・Gecko http://ja.wikipedia.org/wiki/Gecko ・GNUstepWeb http://wiki.gnustep.org/index.php/GNUstepWeb (これはObjective-cなので、移植作業が必要) 他には、OSSベースのCUIブラウザとしてlynxやw3mなどがあります。 IEベースかOSSベースかは質問者様に決めていただくとして、やはり個人的には IEベースが簡単でオススメではあります。

s0217071
質問者

補足

そうなのですか。 IE側に引っ張られてしまうの許容範囲ではありません。 全てオリジナルで作成しようと思っていますので、JavaScript等の設定も可能にしたいと考えています。 またWebkitやGeckoをベースに思いましたが、いまいち使い方がわかりませんでした。(;_;) 宜しくお願いします。

すると、全ての回答が全文表示されます。
  • kirinoma
  • ベストアンサー率53% (288/542)
回答No.3

とりあえず,URLを入力として,サーバー上のファイルにアクセスし, そのファイルが表すWebページの内容を(文字列で)取って来るには 以下の様な手順が必要になります. http://undersourcecode.blog62.fc2.com/blog-entry-3.html 後は,取ってきた文字列をHTMLとして解釈して,文字や絵を適切な位置に 配置する必要があります. 言うと簡単ですが,一から作るとなるとかなりの手間です. 個人的には,他の回答者の方が言われるように,既存のものを流用するのが 楽かと思います. たとえば,以下の様に. http://msdn.microsoft.com/ja-jp/library/3s8ys666(v=VS.80).aspx#Y0 以上,参考になりましたら幸いです.

s0217071
質問者

お礼

有り難うございます。 URLを参考にしまして、WEBページを表示させることができました。

s0217071
質問者

補足

表示できたと思ったのですが、ただ単にIEの情報を持ってきているだけでした。 右クリックしたときに、オリジナルのコンテキストメニューが表示されず、IEのコンテキストメニューが表示されます。 webbrowserコントロールにコンテキストメニューを追加して表示されるようにするにはどうしたらいいでしょうか。

すると、全ての回答が全文表示されます。
  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.2

いちからブラウザを作るとしたら、たぶん大変だと思いますよ。 ・TCPソケットを使ったHTMLのやりとりはある程度コーディングできているか ・HTTP周りは最低限(GETメソッドと200OKだけでも)コーディングできているか ・HTMLパーサはある程度設計したか、最低限実装したか ・レイアウトエンジンはおおまかにでも設計/実装してあるか ぱっと考えただけでも、Googleとかの検索結果を表示するまでに、このくらい (たぶんもっと)やらないといけないことがありそうです。 MFCのCHTMLViewとかでIEのCOMコンポーネントを貼りつけたほうがよほど簡単だとおもうのですが、 自作にこだわるだけの理由があるんでしょうか。

s0217071
質問者

お礼

他社にはないオリジナルのものを作成したいと思っています。 利用できるコードは、利用したいと思います。

すると、全ての回答が全文表示されます。
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

あなたのいう「検索結果」ってなにのことでしょうか? よくあるブラウザでは、そこには「HTML等を解析して整形して表示」されますが、それのことですか?それとも別のなにかですか? 大きな流れでは ・入力された文字列を解析する。 ・URLなら該当するリソースを入手できるように、サーバーにリクエストを送ったり、ファイルを取りにいったりする ・URLじゃなかったら、エラーにするか、それをキーにして検索サイトで検索するためのURLに変換する。以下は上と同様 ・受け取った内容を確認する。 ・htmlならタグを解釈して、文章としての形を整える ・各種メディアならそれを再生、表示できる状態にする ・表示 となるのではないか、と。 既存のライブラリを使えば、多少は楽にはなりますが、全部やるなら、いろんな知識が必要です。

s0217071
質問者

お礼

もちろん広く知られているブラウザのことです。 「HTMLを解析して、それを整形して表示する」ものです。 利用できるコードは、利用したいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A