我需要能够在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?
答案 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>为我工作。