12

我正在使用System.Diagnostics.Process.Start从桌面应用程序启动默认浏览器来访问链接,如下所示。这是在 Windows 8 Pro RTM 上使用 C# 和 .NET 4.0。

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

这在 Windows 7 下工作正常,但在 Windows 8 下我得到一个可以在 LINQPad 中重现的异常。例外情况是:

UseShellExecute = true给出 Win32Exception: 类未注册。 UseShellExecute = false给出 Win32Exception: 系统找不到指定的文件。

如何在默认浏览器中打开 URL?

4

2 回答 2

21

仅适用于WinRT 应用程序,这很简单

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

看看这里

于 2012-09-19T19:28:39.403 回答
5

好像需要在win8下指定进程名。下面的答案来自Armin在此处的回答。

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