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

Sea*_*ron 12 .net c# 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
});
Run Code Online (Sandbox Code Playgroud)

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

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

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

Cyb*_*axs 21

适用于WinRT应用程序,它很简单

Launcher.LaunchUriAsync(new Uri("http://www.google.com"));
Run Code Online (Sandbox Code Playgroud)

看看这里.

  • 需要编辑该答案以指出它仅适用于WinRT - 在常规.NET应用程序中不可用. (2认同)

Sea*_*ron 5

您似乎需要在Win8下指定进程名称.下面的答案来自阿明的答案在这里.

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