0

    使用 Visual C# 以编程方式启动默认 Internet 浏览器

    2023.07.16 | admin | 159次围观

    本文内容

    本文介绍如何使用 Visual C# 启动默认 Internet 浏览器。

    原始产品版本: Visualstudio

    原始 KB 编号: 305703

    注意

    指定要打开的 URL、FTP 或文件

    可以指定 URL、文件或文件传输协议 (FTP) 地址。 这三个分配都有效:

    string target= "http://www.microsoft.com";
    string target = "ftp://ftp.microsoft.com";
    string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
    

    使用 Process 类 Start 方法启动浏览器

    使用 Visual C# 以编程方式启动默认 Internet 浏览器

    该 Process 类包含静态 Start 方法。 因为它是静态方法,因此无需具有类的Process实例即可调用Start。

    System.Diagnostics.Process.Start(target);
    

    有关该类的 Process 详细信息,请参阅 Process 类。

    提供异常处理

    由于在调用Start方法时利用,因此无需显式查询注册表即可确定哪个浏览器是默认的。 但是ie浏览器超链接打不开,如果在未安装浏览器的计算机上使用此方法,则会发生异常。 必须捕获此异常ie浏览器超链接打不开,以便采取适当的操作。

    示例显式捕获在找不到必要注册表项时生成的错误,并指示未安装浏览器。 此外,为可能发生的其他错误提供了常规异常处理程序。 该 try...catch 块在完整的代码列表中演示。

    完整代码示例

    string target= "http://www.microsoft.com";
    //Use no more than one assignment when you test this code.
    //string target = "ftp://ftp.microsoft.com";
    //string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
    try
    {
        System.Diagnostics.Process.Start(target);
    }
    catch (System.ComponentModel.Win32Exception noBrowser)
    {
        if (noBrowser.ErrorCode==-2147467259)
        MessageBox.Show(noBrowser.Message);
    }
    catch (System.Exception other)
    {
        MessageBox.Show(other.Message);
    }
    

    故障排除

    此代码高度依赖于注册表的HKEY_CLASSES_ROOT (HKCR) hive 中的应用程序文件类型关联。 如果注册表损坏,可能会导致意外的结果和异常。 此外,文件类型和扩展名可能与浏览器以外的应用程序相关联。 例如,HTM 或 HTML 文件可能与 Web 开发软件相关联,而不是与浏览器相关联。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论