gpt4 book ai didi

windows - 设置 mailto : protocol handler programmatically in Windows 8

转载 作者:可可西里 更新时间:2023-11-01 14:45:12 27 4
gpt4 key购买 nike

在 Windows 8 之前,添加 mailto: 协议(protocol)处理程序的方法很简单(如此处所述 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以及允许用户指定 mailto 处理的复选框。在这个用例中,没有人强制用户,用户可以控制并做出决定。虽然 Windows 8 商店应用程序(metro/modern)有一个可用的应用程序 list 条目,可以自动执行上述缺失的过程,但桌面应用程序似乎并不存在。

最佳答案

您可以将您的应用程序设置为由自定义协议(protocol)(如 mailto:)激活。当用户安装您的应用时,如果没有其他应用支持该协议(protocol),则不会提示他们,您会自动分配到该协议(protocol)。

但是,如果用户已经拥有处理该协议(protocol)的应用程序,则会提示他们提供支持该协议(protocol)的应用程序列表,并提供选择默认协议(protocol)的选项。您不能强制用户做出特定选择。

另外,如果用户点击了一个协议(protocol)(比如 myprotocol:)并且他们没有安装处理该协议(protocol)的应用程序,那么他们将被发送到商店(应用程序),商店会自动搜索支持该协议(protocol)的所有应用程序。用户然后安装他们想要的任何东西。您不能强制用户做出特定选择(如果有的话)。

我写了一篇关于协议(protocol)激活的文章。您可能会感兴趣:http://blog.jerrynixon.com/2012/10/walkthrough-using-windows-8-custom.html

关于windows - 设置 mailto : protocol handler programmatically in Windows 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14238446/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com