如何创建“自定义协议(protocol)”?我知道您可以通过向 HKEY_CLASSES_ROOT 添加一些注册表项来创建 URL 协议(protocol),但这似乎只适用于浏览器。我也需要它在 Windows 资源管理器中工作。
我知道我可以编写客户端/服务器类型的界面,但我认为这对我的客户的需求(和预算)来说太过分了。
长话短说...
- 第三方应用程序应调用:
tbwx:<row_id>
- 我的应用程序应该从数据库中加载和删除一条记录。
这听起来相当简单(或者我认为如此)。有什么想法吗?
谢谢
最佳答案
只要将 REG_SZ
类型的 URL Protocol
值添加到类的键中,就可以创建自定义协议(protocol)。它不需要实际值,只需要存在即可。这是我刚刚创建的在 Windows 资源管理器中运行的“Echo 协议(protocol)”的简单示例。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\echo]
"URL Protocol"=""
@="Echo Protocol"
[HKEY_CURRENT_USER\SOFTWARE\Classes\echo\shell]
[HKEY_CURRENT_USER\SOFTWARE\Classes\echo\shell\open]
[HKEY_CURRENT_USER\SOFTWARE\Classes\echo\shell\open\command]
@="C:\\WINDOWS\\SYSTEM32\\CMD.EXE /Q /C (echo %1) && pause"
然后,如果您在 Windows 资源管理器(或“运行”菜单)中键入路径:
它甚至应该也可以在浏览器中运行,您只需要像任何其他协议(protocol)一样进行确认:
它应该运行命令:
我发现它也适用于 HKCR
和 HKLM\Software\Classes
键。
关于c# - 如何创建 "custom protocol"并将其映射到应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964152/