プロが教えるわが家の防犯対策術!

Visual C++ Express 2010 でWEBブラウザを自作しようと思っているのですが、
ブラウザの要となるテキストバーを設置して、
そこにアドレスまたは日本語などの値を入力し、検索ボタンを押下して、
アドレスバーの下に設置したフォームに、
その検索結果を表示させるにはどうすればいいでしょうか?
宜しくお願いします。

まだ具体的な機能は付加していません(とりあえず必要と思うものを予め名前をつけている)が。。

「C++でWEBブラウザを作成する」の質問画像

A 回答 (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ベースが簡単でオススメではあります。

この回答への補足

そうなのですか。
IE側に引っ張られてしまうの許容範囲ではありません。
全てオリジナルで作成しようと思っていますので、JavaScript等の設定も可能にしたいと考えています。

またWebkitやGeckoをベースに思いましたが、いまいち使い方がわかりませんでした。(;_;)

宜しくお願いします。

補足日時:2011/10/19 21:30
    • good
    • 0

とりあえず,URLを入力として,サーバー上のファイルにアクセスし,


そのファイルが表すWebページの内容を(文字列で)取って来るには
以下の様な手順が必要になります.

http://undersourcecode.blog62.fc2.com/blog-entry …

後は,取ってきた文字列をHTMLとして解釈して,文字や絵を適切な位置に
配置する必要があります.
言うと簡単ですが,一から作るとなるとかなりの手間です.

個人的には,他の回答者の方が言われるように,既存のものを流用するのが
楽かと思います.
たとえば,以下の様に.

http://msdn.microsoft.com/ja-jp/library/3s8ys666 …

以上,参考になりましたら幸いです.

この回答への補足

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

webbrowserコントロールにコンテキストメニューを追加して表示されるようにするにはどうしたらいいでしょうか。

補足日時:2011/10/11 02:07
    • good
    • 1
この回答へのお礼

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

お礼日時:2011/10/10 19:28

いちからブラウザを作るとしたら、たぶん大変だと思いますよ。



・TCPソケットを使ったHTMLのやりとりはある程度コーディングできているか
・HTTP周りは最低限(GETメソッドと200OKだけでも)コーディングできているか
・HTMLパーサはある程度設計したか、最低限実装したか
・レイアウトエンジンはおおまかにでも設計/実装してあるか

ぱっと考えただけでも、Googleとかの検索結果を表示するまでに、このくらい
(たぶんもっと)やらないといけないことがありそうです。

MFCのCHTMLViewとかでIEのCOMコンポーネントを貼りつけたほうがよほど簡単だとおもうのですが、
自作にこだわるだけの理由があるんでしょうか。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/11 02:12

あなたのいう「検索結果」ってなにのことでしょうか?



よくあるブラウザでは、そこには「HTML等を解析して整形して表示」されますが、それのことですか?それとも別のなにかですか?

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

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

お礼日時:2011/10/11 02:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!