gpt4 book ai didi

c++ - 在 Windows 8 上共享应用程序 URI 方案注册

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:34 25 4
gpt4 key购买 nike

我正在编写一个在 Windows 8 上注册“tel”协议(protocol)的应用程序,所以当我打开“开始”>“运行”时,输入 tel:1234 并按 Enter,我的应用程序启动并调用 1234 电话。这在XP、Win7 和 Win8。但是,在 Win8 上,我发现当我安装 Google Chrome 时,它​​会“接管”对 tel 协议(protocol)的处理,因此当我再次运行 tel:1234 时,Chrome 会启动,而不是我的应用程序。 Chrome 不会接管 Win7 或 XP 中的 tel 协议(protocol)。我想了解问题所在。

目前,我的应用程序通过添加以下注册表项来注册 tel 协议(protocol),如 Registering an Application to a URI Scheme 中所述在 MSDN 上:

HKEY_CLASSES_ROOT\tel
@="URL:My Tel Protocol Handler"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\tel\DefaultIcon]
@="C:\\MyTelProtocol.exe"

[HKEY_CLASSES_ROOT\tel\shell]

[HKEY_CLASSES_ROOT\tel\shell\open]

[HKEY_CLASSES_ROOT\tel\shell\open\command]
@="\"C:\\MyTelProtocol.exe\" -URI %1"

我发现谷歌浏览器不会用自己的注册表数据覆盖我的注册表数据。相反,它似乎以不同的方式注册协议(protocol)处理程序,但我无法弄清楚如何做同样的事情。谁知道 Windows 8 以不同方式处理此问题的原因?

提前致谢,马特

最佳答案

您需要删除 Chrome 在安装过程中添加的“tel”注册表项。

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\Google Chrome\Capabilities\UrlAssociations

之后,您需要将 win 8 推送到 relaod 注册表库(重新启动或其他方式),jabber 将成为 TEL:URI 的默认应用程序;)。

关于c++ - 在 Windows 8 上共享应用程序 URI 方案注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13903499/

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