4

私がする必要があるのは、デフォルトの検索でデフォルトのブラウザーを起動することです。デフォルトの検索は、URL ナビゲーション テキスト ボックスに検索語を入力したときに行われるものです。たとえば、Chrome と Firefox では、デフォルトでナビゲーション テキスト ボックスに「子犬」と入力すると、「子犬」の Google 検索結果が表示されます。IE では、Bing だけで同じことを行います。

通常、次のようなことを行うだけで、デフォルトのブラウザーを呼び出すことができます。

Process.Start("http://google.com");

しかし、デフォルトの検索プロバイダーが Google だとは思えません。

C# 経由でこの動作を呼び出す方法はありますか? 私ができる唯一のことは、どのブラウザーがデフォルトであるかを試して判断し、検索用語を使用して直接実行することです。

他の(できれば簡単な)方法を知っている人はいますか?

更新:ここ で既定のブラウザーを見つけるコードが見つかりました。

4

2 に答える 2

2

デフォルトのブラウザを見つける方法をすでに知っている場合は、使用してみますProcess.Start("browser\path.exe", "\"? searchterm\"");

これはIEとChromeの両方で機能するようです。

于 2013-05-16T20:18:20.020 に答える
1

これを Start -> Run プロンプトに入力して、IE をテストしました。

「c:\Program Files\Internet Explorer\iexplore.exe」「スタック オーバーフロー」

Internet Explorer を起動し、既定の検索プロバイダーでスタック オーバーフローを検索しました。検索用語は で始まる標準の URL ではないため、開始したい特定の実行可能ファイルを提供しない場合、ブラウザを起動するhttp://方法を知る方法はありません。Process.Start

調べることでデフォルトのブラウザを特定できますHKEY_CLASSES_ROOT\http\shell\open\command次に、検索用語をクエリパラメータとしてこのブラウザを起動すると、そのブラウザのデフォルトの検索プロバイダーを使用する必要があります。

于 2013-05-16T16:12:28.877 に答える