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

Windows 10 如何在Windows 10中将未列出的程序注册为默认mailto:处理程序,windows-10,mailto,Windows 10,Mailto,我们想注册邮件程序,以便在邮件上打开:在浏览器中单击。我们可以设置Firefox,但不能设置Edge或IE。当您在Windows 10中转到系统设置并查看“默认应用程序”时,电子邮件选项提供邮件、Microsoft Outlook和“在应用商店中查找应用程序”,而不是浏览其他程序的选项。更改HKEY\U CLASSES\U ROOT\mailto\Shell\open\命令和HKEY\U LOCAL\U MACHINE\SOFTWARE\Clients\Mail\iConnect\Protoco

我们想注册邮件程序,以便在邮件上打开:在浏览器中单击。我们可以设置Firefox,但不能设置Edge或IE。当您在Windows 10中转到系统设置并查看“默认应用程序”时,电子邮件选项提供邮件、Microsoft Outlook和“在应用商店中查找应用程序”,而不是浏览其他程序的选项。更改HKEY\U CLASSES\U ROOT\mailto\Shell\open\命令和HKEY\U LOCAL\U MACHINE\SOFTWARE\Clients\Mail\iConnect\Protocol\mailto\Shell\open\命令中的注册表项 自W8起不再工作

我发现的一个建议是,Computer\HKEY\u CURRENT\u USER\SOFTWARE\Microsoft\Windows\Shell\Associations\urlsociations\mailto\UserChoice中的标签决定了程序。我通过安装fciv.exe来查找我的程序的标签,并在那里输入,但没有结果

欢迎提出任何建议


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

您需要注册您的应用程序,以便将其列在已注册的应用程序中,可以先默认。为此,您需要添加以下注册表项:

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相同(尚未测试)