LmT*_*oon 8 windows winapi protocols url-scheme
我想myscheme://foo通过我的应用程序像在任何浏览器中一样处理查询myscheme.exe。
据我了解,解决方案将取决于所使用操作系统的版本。对于旧操作系统(直到 Windows 7),只需将记录保存在注册表中:
HKEY_CLASSES_ROOT
myscheme
(Default) = "URL:Myscheme Protocol"
URL Protocol = ""
DefaultIcon
(Default) = "myscheme.exe,1"
shell
open
command
(Default) = "C:\Program Files\Myscheme\myscheme.exe" "%1"
Run Code Online (Sandbox Code Playgroud)
不幸的是,将应用程序注册到 URI 方案声明这种方式已被弃用。我不应该再使用这个 API。页面上的推荐版本microsoft-edge(它不包含有关它的信息)!!!
于是,我开始研究它windows 8。我遇到了文件类型和 URI 关联模型,它说在Windows 8应用程序中不再能够以编程方式将自己设置为文件类型或 URI 的默认处理程序。据我所知,新架构使用通知系统,用户通过特殊提示控制默认应用程序。但是默认程序说它对 Windows 10 不再有效(探索参考已经死了!)。
那么,如何在 Windows 10 中正确处理自定义协议呢?不幸的是,Windows 的文档很糟糕。那么不同版本的操作系统呢?我应该对不同的版本使用不同的技术吗?
PS请不要将此问题标记为重复。其他问题,例如如何在 Windows 中注册自定义 URL 协议?,如何创建自己的 URL 协议?(例如:so://...)提出已弃用的解决方案。
对不起,我的英语不好。
| 归档时间: |
|
| 查看次数: |
3554 次 |
| 最近记录: |