打开包含查询字符串的 URL

本文关键字:URL 字符串 查询 包含 | 更新日期: 2023-09-27 17:56:35

我需要能够从 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时,我看到"类未注册"相同的错误,如下所述:Windows 8/Chrome上的Process.Start(url)损坏 - 有替代方案吗?

打开包含查询字符串的 URL

终于找到了一个解决方案 - 有点印象深刻,几年前编写批处理文件后我没有尝试这个,这很常见。

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

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

您可以将默认浏览器与:

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

很简单不是吗?

它适用于查询字符串:

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

你只需要这样做:

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

尝试"start"而不是"explorer.exe"。拉起命令行并键入对我有用。