如何将未列出的程序注册为Windows 10中的默认mailto:handler

时间:2016-04-22 11:59:14

标签: windows-10 mailto

我们想要在浏览器中点击 mailto:点击我们的邮件程序。我们可以设置Firefox这样做,但不能边缘或IE。当您转到Windows 10中的系统设置并查看“默认应用程序”时,“电子邮件”选项提供“邮件”,“Microsoft Outlook”和“在商店中查找应用程序”,而不是“浏览其他程序”选项。更改HKEY_CLASSES_ROOT \ mailto \ Shell \ open \ command和HKEY_LOCAL_MACHINE \ SOFTWARE \ Clients \ Mail \ iConnect \ Protocol \ mailto \ shell \ open \ command中的注册表项 自W8以来没有长期工作。

我发现一个建议是计算机\ HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ Shell \ Associations \ UrlAssociations \ mailto \ UserChoice中的主题标签确定程序。我通过https://support.microsoft.com/en-us/kb/841290安装了fciv.exe来找到我程序的主题标签,并在那里输入了没有结果的标签。

欢迎任何建议。

我目前甚至考虑创建一个通用应用程序并让它在商店中注册,它能够处理mailto然后重定向到任何选择的应用程序(Windows应该首先提供的选项)但是我猜测这也不是一件容易的事情。

1 个答案:

答案 0 :(得分:1)

您需要注册您的应用程序才能在注册的应用程序中列出,可以是默认的。为此,您需要添加以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]

如果您的程序是64位Windows上的32位:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\RegisteredApplications]

然后你必须声明它对mailto协议的能力。注册表中有几个地方要添加。这是我用于我的程序(RDMailto.exe),将RDMailto重命名为您的程序名称,您将没问题:

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\mailto]
    @="URL:MailTo Protocol"
    "URL Protocol"=""

    [HKEY_CLASSES_ROOT\mailto\shell\open\command]
    @="\"RDMailto.exe\" %1"

    [HKEY_CLASSES_ROOT\RDMailto.Mailto]
    @="URL:MailTo Protocol"
    "URL Protocol"=""

    [HKEY_CLASSES_ROOT\RDMailto.Mailto\shell\open\command]
    @="\"RDMailto.exe\" %1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto]
    @="URL:MailTo Protocol"
    "URL Protocol"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command]
    @="\"RDMailto.exe\" %1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\RDMailto.Mailto]
    @="URL:MailTo Protocol"
    "URL Protocol"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\RDMailto.Mailto\shell\open\command]
    @="\"RDMailto.exe\" %1"

    [HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
    "RDMailto"="SOFTWARE\\MQTechnologies\\RDMailto\\Capabilities"

        [HKEY_LOCAL_MACHINE\SOFTWARE\MQTechnologies\RDMailto\Capabilities]
    "ApplicationDescription"="Open mailto on local machine"

    [HKEY_LOCAL_MACHINE\SOFTWARE\MQTechnologies\RDMailto\Capabilities\UrlAssociations]
    "mailto"="RDMailto.Mailto"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\RegisteredApplications]
    "RDMailto"="SOFTWARE\\Wow6432Node\\MQTechnologies\\RDMailto\\Capabilities"

      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MQTechnologies\RDMailto\Capabilities]
    "ApplicationDescription"="Open mailto on local machine"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MQTechnologies\RDMailto\Capabilities\UrlAssociations]
    "mailto"="RDMailto.Mailto"

    [-HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\mailto]

最后一行是分离处理mailto协议的现有程序。如果Outlook上已经安装了任何邮件客户端程序,请小心。每次Outlook启动时,它都会重写(覆盖)mailto注册表项,使其成为默认的邮件客户端程序。

我在Windows 2012 / R2和Windows 8.1上使用RemoteApp,它应该与Windows 10相同(尚未测试)。