3

C# アプリケーションからブラウザーでリンクを開くことができる必要があります。通常、次のようなコードを使用してリンクを開きます。

Process.Start(new ProcessStartInfo("explorer.exe", @"http://www.google.com"));

残念ながら、URL にhttp://www.google.com/search?q=stackoverflowのようなクエリ文字列が含まれている場合、ブラウザーではなくエクスプローラーを開くことだけが成功します 。

クエリ文字列を含む URL を開くにはどうすればよいですか?

編集メモ: Windows 8 を IE 以外のデフォルト ブラウザで使用しています。ここで説明されているように、Process.Start だけを使用しようとすると、「クラスが登録されていません」という同じエラーが表示されます: Windows 8/Chrome で Process.Start(url) が壊れています - 代替手段はありますか?

4

4 に答える 4

8

ついに解決策が見つかりました-何年も前にバッチファイルを作成した後、これは一般的でした。

Process.Start(new ProcessStartInfo("explorer.exe", "\"" + @"http://www.google.com/search?q=stackoverflow" + "\""));

引用符を追加するだけでうまくいくようです。

于 2013-01-29T15:16:36.220 に答える
3

デフォルトのブラウザを次のように使用できます。

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

シンプルですね。

そして、クエリ文字列で動作します:

Process.Start(@"http://www.google.com/search?q=stackoverflow");
于 2013-01-29T14:54:41.667 に答える
0

これを行うだけです:

try
{
   Process.Start(@"http://www.google.com/search?q=stackoverflow");
}
catch(Exception ex)
{
   MessageBox.Show(ex.ToString());
}
于 2013-01-29T14:56:08.840 に答える
0

「explorer.exe」の代わりに「start」を試してください。コマンド ラインを起動して < start http://google.com?q=blah > と入力するとうまくいきました。

于 2013-01-29T14:56:14.297 に答える