2017-03-08 16 views
0

ShellExecuteを使用してデフォルトWebブラウザを起動し、http:URIスキームで指定されたWebページに移動できます。しかし、どのように我々はデフォルトのWebブラウザを起動し、ShellExecuteを使用してホームページに行くことができますか?デフォルトのWebブラウザを起動し、http:URIスキームでShellExecuteを使用してホームページに移動するにはどうすればよいですか?

私はここからいくつかの情報を得ることができます:https://support.microsoft.com/en-us/kb/224816https://msdn.microsoft.com/en-us/library/windows/apps/mt228340.aspx#browserしかし、私はまだホームページへ行く方法がわかりません。いくつかの情報を提供できる場合は非常に感謝します

+1

技術的には、ブラウザにホームページが必要な理由はありません。代わりに、代わりにモザイク画面が使用されることが増えています。 – MSalters

答えて

0

Windowsのデフォルトブラウザとは何ですか?それはHTTPプロトコルの登録ハンドラですか? Clients\StartMenuInternetの下に登録されているデフォルトのクライアントですか?

我々はthe HTTP handler is the default browserは、あなたが登録に関する情報を取得するためにAssocQueryStringを使用できると仮定した場合:

WCHAR szBrowser[MAX_PATH]; 
DWORD cch = MAX_PATH; 
AssocQueryString(ASSOCF_NOTRUNCATE, ASSOCSTR_EXECUTABLE, L"http", NULL, szBrowser, &cch); 

側の注意点として、単に実行ファイルを取得する最良の選択肢ではないかもしれない、ユーザーはそれを構成している可能性が--some-browser-option --profile c:\fooのようなパラメータで、これらは無視されます。 ASSOCSTR_COMMANDはコマンドを取得できますが、%1を空の文字列に置き換える必要があります。

このすべてを行っても、特定の設定ではまだ破損することがあります。プロトコル登録は実行可能ファイルを指定する必要はありませんが、COM objectを持つことは合法です。そのため、私は、StartMenuInternetクライアントをフォールバックとして読むことをお勧めします。

ホームページを開くための標準パラメータがないと思います(検索には?と異なります)。URLを指定しないでブラウザを起動すると、ホームページが開かれることを願ってください。

+0

スタート - >ファイル名を指定して実行 - > http:// とにかくChromeで動作するようです。 –

+0

@ JonathanPotter '" c:\ Program Files \ Internet Explorer \ iexplore.exe "http://"は起動せず、 'http://'を起動しません。どちらもIEで無効なアドレスページを示しています。 – Anders

関連する問題