【问题标题】:Set default browser设置默认浏览器
【发布时间】:2014-08-11 12:38:18
【问题描述】:

我正在为 Web 浏览器编写应用程序。就像其他浏览器(Internet Explorer、Google Chrome 等)一样,我需要要求用户将我的应用程序设置为默认浏览器。

有没有办法通过代码设置默认浏览器?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    根据MSDN 上的这个答案,您需要更改注册表项:

    RegistryKey regkey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\shell\\Associations\\UrlAssociations\\http\\UserChoice", true);
    string browser = regkey.GetValue("Progid").ToString();
    
    if (browser != "IE.HTTP")
    {
        regkey.SetValue("Progid", "IE.HTTP");
    }
    

    这会将Progid 设置为Internet Explorer 中的Progid。您应该创建一个自己的帐户并在此处注册您的Progid

    另见此完整解释article on MSDN

    【讨论】:

    • 据我了解,“IE.HTTP”用于 Internet Explorer。我的应用程序将使用什么来代替它?如何为我的应用程序创建 Progid?
    • @STT:添加了回答所有问题的答案链接。
    • 对不起,我对此很陌生。能否请您帮助我了解如何使用 C# 代码创建自己的 Progid?
    • 这只是创建一个注册表项。阅读this 并使用here 中描述的键。
    • 谢谢帕特里克。我成功创建了 ProgId。但是,当我使用上面的代码(替换 ProgId)将我的浏览器设置为默认浏览器时,我的 html/htm 文件仍然只能由以前的默认浏览器打开。我还缺少什么吗?
    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 2012-10-21
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多