打开包含查询字符串的URL

时间:2013-01-29 14:53:17

标签: c# windows-8 query-string

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

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

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

如何使用查询字符串打开网址?

编辑备注:我使用的是Windows 8和非IE默认浏览器。当我尝试使用如下所述的Process.Start时,我看到“Class Not Registered”出现了同样的错误:Process.Start(url) broken on Windows 8/Chrome - are there alternatives?

4 个答案:

答案 0 :(得分:7)

终于找到了一个解决方案 - 给我留下了深刻的印象,我在几年前编写批处理文件之后就没想过这很常见。这很常见。

Process.Start(new ProcessStartInfo("explorer.exe", "\"" + @"http://www.google.com/search?q=stackoverflow" + "\""));

只是在它周围添加引号似乎工作正常。

答案 1 :(得分:3)

您可以使用默认浏览器:

Process.Start(@"http://www.google.com");

简单不是吗?

它适用于查询字符串:

Process.Start(@"http://www.google.com/search?q=stackoverflow");

答案 2 :(得分:0)

你只需要这样做:

try
{
   Process.Start(@"http://www.google.com/search?q=stackoverflow");
}
catch(Exception ex)
{
   MessageBox.Show(ex.ToString());
}

答案 3 :(得分:0)

尝试“启动”而不是“explorer.exe”。拉起命令行并输入<开始http://google.com?q=blah>为我工作。