3

我需要能够从 C# 应用程序在浏览器中打开链接。通常,我会使用这样的代码来打开链接:

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

不幸的是,只有当 URL 包含查询字符串时,它才能成功打开资源管理器而不是浏览器: http ://www.google.com/search?q=stackoverflow

如何打开带有查询字符串的 URL?

编辑说明:我正在使用带有非 IE 默认浏览器的 Windows 8。我在尝试仅使用 Process.Start 时看到与“未注册的类”相同的错误,如此处所述:Process.Start(url) 在 Windows 8/Chrome 上损坏 - 有其他选择吗?

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 http://google.com?q=blah > 对我有用。

于 2013-01-29T14:56:14.297 回答