自分でブラウザーを作りました。このブラウザでホームページを表示し、そのページをリンクするクリック、新規のブラウザーで開きたいと思っています。新規のブラウザーを開いた場合はIEが立ち上がってしまいます。どよのうにすれば自作のブラウザーを利用できるのでしょうか。


追記:自作のブラウザーをデフォルトのブラウザーにすればいいと思って以下のツールをつかいましたがだめでした。VB2005で作成しました。

SetBrowser for Windows

http://www.pc-tools.net/win32/setbrowser/

教えてください。よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/08/26 22:09:35
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:mj99 No.4

回答回数138ベストアンサー獲得回数38

ポイント100pt

ああ、ごめんなさい。

回答3はCOMコンポートを利用してる場合の方法でした。

----

コモンコントロールの"WebBrowser"を利用しているのですね。

これだとNewWindow2イベントが利用できないので、希望の機能を実装するにはかなり複雑なコードが必要になります。

http://homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserNewWindo...

id:mai_mai_mail

mj99さん、いろいろとありがとうございます。最初に回答をもらってからnewwindow2イベントを探しましたがなくて、vb2005を調べたら上記のurlに行き着きました。ちょっとコードが長いのでvb2003を入手して短いコーディングでやってみようと思います。

2007/08/26 12:02:20

その他の回答3件)

id:hblm No.1

回答回数243ベストアンサー獲得回数23

新規のブラウザーを開いた場合はIEが立ち上がってしまいます。

どよのうにすれば自作のブラウザーを利用できるのでしょうか。

IEのデフォルトは外したのですよね?


私はあるRSSリーダを利用していますが、そのリーダでページを開こうとすると、デフォルト設定(Firefox)を無視して、IEで開こうとします。サポートに質問してみましたが、「そんなことない」と取り合ってくれません。


つまり、あなたのプログラムのバグです。


ソースがないのでバグを指摘することはできませんが、見直してみる必要があるでしょう。

id:mai_mai_mail

SetBrowser for Windowsが指定した(自作)のブラウザーをdefaultをするツールと理解しています。

2007/08/23 21:58:20
id:ttamo No.2

回答回数175ベストアンサー獲得回数29

ポイント20pt

詳細がわからないので推測ですが、似たようなことが

http://sho.tdiary.net/20070818.html#p01

で扱われていました。

「Explorerからフォルダオプションを開いて、HTTPの設定を見てみたら」という画面が載っています。

ここで「open」のところの関連付けを、その自作ブラウザにしてみてはいかがでしょうか。

id:mai_mai_mail

ご回答ありがとうございます。書いてあったとおりに実施してみました(openのところに自作ブラウザを設定)。結果は残念ながらだめでした。プログラムの概要を簡単に書きます。アドバイスいただければうれしいです。

VB2005

コモンコントロールの"WebBrowser"を利用しているだけです。Staticのurlをロードすることを書いて、その他のコーディングはしていません

よろしくお願いします。

2007/08/23 23:21:56
id:mj99 No.3

回答回数138ベストアンサー獲得回数38

ポイント40pt

COMコンポーネント「Microsoft Web Browser」を追加して利用しているのですね?

このコンポーネントで「新しいウィンドウを開く」場合には、NewWindow2イベントをオーバライドしない限り、必ずIEが起動します。

レジストリの設定ではどうにもなりません。

下記URLにNewWindow2イベントのサンプルコードがあります。

実際に試してうまく動きましたよ。

http://support.microsoft.com/kb/311282/ja

id:mj99 No.4

回答回数138ベストアンサー獲得回数38ここでベストアンサー

ポイント100pt

ああ、ごめんなさい。

回答3はCOMコンポートを利用してる場合の方法でした。

----

コモンコントロールの"WebBrowser"を利用しているのですね。

これだとNewWindow2イベントが利用できないので、希望の機能を実装するにはかなり複雑なコードが必要になります。

http://homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserNewWindo...

id:mai_mai_mail

mj99さん、いろいろとありがとうございます。最初に回答をもらってからnewwindow2イベントを探しましたがなくて、vb2005を調べたら上記のurlに行き着きました。ちょっとコードが長いのでvb2003を入手して短いコーディングでやってみようと思います。

2007/08/26 12:02:20
  • id:wm5775
    > コモンコントロールの"WebBrowser"を利用しているだけです。
    > Staticのurlをロードすることを書いて、その他のコーディングはしていません

    これが問題なんじゃないでしょうか?

    おそらく、そのコモンコントロールのWebBrowser自体がIEのレンダリングエンジン本体なんじゃないでしょうか?

    #これは、自作のブラウザとは言わないような・・・。

    もし、URLのハイパーリンクを作成するくらいを自分でやってみたいのであれば、テキスト表示した中からURLに相当する部分を正規表現で抜き出してやって、そのURLを自作のブラウザ?に渡すとか・・・。

    #でも、実際に動いているのはIEになると思うんですけど。

    例えば、VS2005のコモンコントロールでなくて、BCBのコンポーネントとか、サードパーティ製のブラウザレンダリングエンジンを使えば簡単にそういうことが実現できるかもしれませんね。

    #それか、URLをオープンする先を自分自身の別のフォームやパネル上のコモンコントロールにロードしてやるようにすれば、自分の開発したブラウザの中で完結するのではないでしょうか?
  • id:mj99
    >vb2003を入手して短いコーディングでやってみようと思います。

    vb2005でも出来ますよ。

    1.ツールボックスの「すべてのウィンドウス」のところで右クリック=>メニューから「アイテムの選択」を選択
    2.COMコンポーネントから「Microsoft Web Browser」にチェック入れてOKをクリック
    3.ツールボックスの「すべてのウィンドウス」のところに「Microsoft Web Browser」が追加される
    4.「Microsoft Web Browser」をフォームに配置する

    ----
    COMコントロールの「Microsoft Web Browser」にはURLプロパティがないので、Form_loadのタイミングでNavigateメソッドを使うのがよいでしょう。
  • id:mai_mai_mail
    mj99さん

    ありがとうございました。vb2005でいわれたとおりにやったらできました。感謝です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません