协议处理程序的Windows 8之前,加入mailto:
协议处理程序的方法是简单(这里Register Windows program with the mailto protocol programmatically概述)设置的mailto:在Windows 8
随着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以及允许用户指定mailto处理的复选框。在这种使用情况下,没有人强迫用户,用户掌控并做出决定。尽管Windows 8商店应用程序(metro/modern)有一个可用的应用程序清单条目,可以自动执行上述缺失的流程,但桌面应用程序似乎并不存在。
您是否尝试使用传统方式设置注册表项后删除“UserChoice”注册表项? – selbie
是的。只有当后来点击mailto链接时,才会导致“如何打开此链接”。 – shellscape