You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何在默认浏览器中打开包含等号的URL

解决带等号的URL无法通过Process.Start打开默认浏览器的问题

问题原因

当URL包含=这类特殊字符时,直接传给explorer.exe会被命令行解析器当作参数分隔符,导致URL被截断,最终只打开资源管理器而非访问完整链接。

可行解决方案

  • 直接调用Process.Start传入URL(最简单推荐方式)
    无需指定explorer.exe,Process.Start(string url)会自动调用系统默认浏览器处理URL,不管是否包含特殊字符:

    Process.Start("https://example.com/page?param=value");
    

    注:.NET Framework中若URL包含空格等更复杂字符,可能需额外处理,但等号场景下直接生效;.NET Core/.NET 5+版本完全兼容。

  • 给URL添加引号后传给explorer.exe
    若必须通过explorer.exe调用,需将完整URL用引号包裹,避免特殊字符被解析为参数分隔:

    Process.Start("explorer.exe", "\"https://example.com/page?param=value\"");
    

    这里的\"是C#字符串中对双引号的转义,确保传给explorer.exe的参数是带引号的完整URL。

  • 使用ProcessStartInfo启用ShellExecute
    依赖系统Shell处理URL,兼容性最好,自动适配默认程序:

    ProcessStartInfo psi = new ProcessStartInfo
    {
        FileName = "https://example.com/page?param=value",
        UseShellExecute = true
    };
    Process.Start(psi);
    

    这种方式无需手动处理特殊字符转义,系统会自动完成参数的正确传递。

内容的提问来源于stack exchange,提问作者fgsfds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:35:59