在Windows 8桌面应用程序的默认浏览器中打开URL

时间:2012-09-19 19:01:22

标签: c# .net windows-8

我正在使用桌面应用程序中的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:Class未注册。 UseShellExecute = false给出Win32Exception:系统找不到指定的文件。

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

2 个答案:

答案 0 :(得分:21)

仅适用于 WinRT应用,它只是

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

看看here

答案 1 :(得分:5)

您似乎需要在Win8下指定进程名称。以下答案来自Armin's answer here

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