【发布时间】:2012-12-23 16:34:42
【问题描述】:
在 Windows 8 之前,添加mailto: 协议处理程序的方法很简单(如此处所述Register Windows program with the mailto protocol programmatically)
从 Windows 8 开始,旧方法不再有效。 Win8 似乎强制执行以下密钥:HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\URLAssociations\MAILTO\UserChoice。
似乎所选应用程序的ProgID 已被散列并且无法伪造,至少我无法判断。
有没有人有这方面的工作方法,或者可以向我指出一个实用程序类/代码,它将概述如何以编程方式完成此任务?
对于代码,任何语言都可以。
编辑
其他讨论要求我指定一个用例,所以我认为这在这个问题的上下文中会有所帮助。请考虑此屏幕截图https://github.com/shellscape/Gmail-Notifier-Plus/raw/master/Promotional/prefs-account.png 和允许用户指定邮件处理的复选框。在这个用例中,没有人强迫用户,用户可以控制并做出决定。虽然 Windows 8 商店应用程序(metro/modern)有一个可用的应用程序清单条目,可以自动执行上述缺失的过程,但桌面应用程序似乎并不存在。
【问题讨论】:
-
您是否尝试在以传统方式设置注册表项后删除“UserChoice”注册表项?
-
是的。之后单击mailto链接时,只会导致“您要如何打开此链接”飞入。
标签: windows windows-8 desktop-application mailto