開発環境はVC++6です。

URLを基にデフォルトのブラウザの新しいウインドウを作成しHPを表示する方法、
もしくは、
デフォルトのブラウザを起動する方法を教えてください。
以上よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/02/26 12:35:26
  • 終了:2007/02/28 18:05:20

ベストアンサー

id:llusall No.3

llusall回答回数505ベストアンサー獲得回数612007/02/26 13:46:19

ポイント40pt

こちらはいかがでしょうか?


複数のブラウザの立ち上げ方法


例えばIEの場合「/n」オプションを付加して起動する。

iexplore.exe /n *******(URL)とすると常に新規に起動するみたいです


単純に、関連付けられているモジュールは何なのかを自分で取得すればよいのでは?

レジストリで情報を取ってこれそうです。

以下のキーなんかどうでしょう?

HKEY_CLASSES_ROOT\http\shell\open\command


レジストリ情報の取得は、RegQueryValue()でよいと思います。

※MSDNではRegQueryValueEx()を推奨していますが、"Ex"じゃない方で十分でしょう。

id:harunoharuno

回答ありがとうございます。

いろんな方法があるんですね。

どれが良いか検討いたします。

2007/02/28 18:04:32

その他の回答(2件)

id:EddyYamanaka No.1

EddyYamanaka回答回数385ベストアンサー獲得回数12007/02/26 12:44:08

ポイント20pt

URLをそのままShellExecuteで実行できると思います。

CString sURL;

sURL = "****";

ShellExecute(NULL, NULL, sURL, NULL, NULL, SW_SHOWNORMAL);

http://www.hidecnet.ne.jp/~sinzan/tips/win/win_tip07.htm

id:harunoharuno

回答ありがとうございます。

しかし、

回答していただいた方法だと、すでにデフォルトのブラウザが起動している場合

そこにHPを表示してしまいます。

今回の質問は新しいウインドウを開き、HPを表示させたいというものです。

デフォルトのブラウザの起動方法がわかれば、起動後に

ShellExecute(NULL, NULL, sURL, NULL, NULL, SW_SHOWNORMAL);

を呼べばいいだけなのですが・・・・。

良い方法などありましたら教えていただきたくよろしくお願いします。

2007/02/26 12:56:40
id:llusall No.2

llusall回答回数505ベストアンサー獲得回数612007/02/26 12:45:21

ポイント40pt

こちらでいかがでしょうか?


SWS 本当の雑記帳

http://www.ncad.co.jp/~sunada/prog-z.html


・関連付けされたアプリケーションでファイルを開きたいとき

ShellExecuteExを使用します。

id:harunoharuno

回答ありがとうございます。

HPを開くことはすでに出来ています。

質問にもありますが、

デフォルトブラウザの新しいウインドウを開き、そこにHPを表示したいのです。

ShellExecute(NULL,"open",csFilepath,NULL,NULL,SW_SHOWNORMAL);

を行うと、すでに別作業でデフォルトブラウザを起動していた場合

開いていたHPが消え、

そこにプログラムで指定したHPが表示されてしまいます。

どうも、これでは使い勝手が良くないように思えたので

新規ウインドウに表示する方法などないかなと質問した次第です。

良い方法などありましたら教えていただきたくよろしくお願いします。

2007/02/26 13:15:21
id:llusall No.3

llusall回答回数505ベストアンサー獲得回数612007/02/26 13:46:19ここでベストアンサー

ポイント40pt

こちらはいかがでしょうか?


複数のブラウザの立ち上げ方法


例えばIEの場合「/n」オプションを付加して起動する。

iexplore.exe /n *******(URL)とすると常に新規に起動するみたいです


単純に、関連付けられているモジュールは何なのかを自分で取得すればよいのでは?

レジストリで情報を取ってこれそうです。

以下のキーなんかどうでしょう?

HKEY_CLASSES_ROOT\http\shell\open\command


レジストリ情報の取得は、RegQueryValue()でよいと思います。

※MSDNではRegQueryValueEx()を推奨していますが、"Ex"じゃない方で十分でしょう。

id:harunoharuno

回答ありがとうございます。

いろんな方法があるんですね。

どれが良いか検討いたします。

2007/02/28 18:04:32
  • id:llusall
    いるか君ありがとうございます。
    少しばかりヒントになりましたでしょうか。
    ズバリでなくてすみません。

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません