12

以下のようにSystem.Diagnostics.Process.Start、デスクトップ アプリケーションからデフォルト ブラウザを起動してリンクにアクセスしています。これは、Windows 8 Pro RTM 上の .NET 4.0 で C# を使用しています。

System.Diagnostics.Process.Start(new ProcessStartInfo
{
    FileName = @"http://www.google.com",
    UseShellExecute = true
});

これは Windows 7 では正常に動作しますが、Windows 8 では LINQPad で再現できる例外が発生します。例外は次のとおりです。

UseShellExecute = trueWin32Exception: クラスが登録されていません。 UseShellExecute = falseWin32Exception が発生します: 指定されたファイルが見つかりません。

デフォルトのブラウザで URL を開くにはどうすればよいですか?

4

2 に答える 2

21

WinRT アプリのみの場合、単純に

Launcher.LaunchUriAsync(new Uri("http://www.google.com"));

ここを見てください。

于 2012-09-19T19:28:39.403 に答える
5

Win8ではプロセス名を指定する必要があるようです。以下の回答は、Armin の回答hereからのものです。

var startInfo = new ProcessStartInfo("explorer.exe", @"http://www.google.com");
Process.Start(startInfo);
于 2012-10-19T08:20:26.700 に答える