win系统,如何通过伪协议唤起本地exe程序?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
腾讯QQ可以从网页上唤起客户端的事情,大家一定并不陌生。实际上,如果大家仔细研究一下的话,就会发现,这些功能都是通过注册伪协议而实现的。这些伪协议有:mqqapi
,qimapi
等等。这些伪协议就可以实现,在网页上唤起本地的exe
程序了。
那么,本文中,苏南大叔将要讲述:在win
系统下,伪协议的实现方式。
本文测试环境:win10
、regedit@5.00
。
原理描述
在win
系统下,这种伪协议就是通过修改注册表来实现的。
具体的注册表项目路径有两个:
HKEY_CLASSES_ROOT\sunan\shell\open\command
HKEY_CURRENT_USER\Software\Classes\sunan\shell\open\command
注意:
- 上述路径中的
sunan
字样,就是自定义的伪协议名称。 - 或者这么描述,注册表路径带有
shell\open\command
的,都是伪协议。
注册表文件
注册这个伪协议的方法就是导入注册表,当然,您用任何方式方法操作注册表都可以。终极目标就是建立对应键值:
下面的注册表文件,可以注册一个名为sunan
的协议,然后最终打开一个自定义的exe
文件。
下面演示的注册表路径为HKEY_CURRENT_USER\Software\Classes\
,即当前用户生效。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\sunan]
@="URL:sunan"
"URL Protocol"=""
[HKEY_CURRENT_USER\Software\Classes\sunan\shell]
[HKEY_CURRENT_USER\Software\Classes\sunan\shell\open]
[HKEY_CURRENT_USER\Software\Classes\sunan\shell\open\command]
@="\"Z:\\code\\electron\\electron-quick-start.exe\" \"%1\""
接下来要演示的是:通过ed2k://
伪协议唤起迅雷的注册表文件:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\ed2k]
"URL Protocol"=""
[HKEY_CURRENT_USER\Software\Classes\ed2k\Shell]
[HKEY_CURRENT_USER\Software\Classes\ed2k\Shell\Open]
[HKEY_CURRENT_USER\Software\Classes\ed2k\Shell\Open\command]
@="\"C:\\Program Files (x86)\\Thunder Network\\Thunder\\Program\\Thunder.exe\" \"%1\" -StartType:ed2k"
使用方法
这个伪协议在html
中的使用方法是很简单的,和普通的http
协议是一样的,写链接即可。例如:
<a href='sunan://demo'>测试链接</a>
相关链接
- 《网页代码唤起qq加群界面方案大全》
https://newsn.net/say/qq-qun-123.html
总结
这种伪协议的方式,在各种操作系统中都普遍存在。但是不同的系统中,实现的原理是不一样的。本文中,苏南大叔仅仅展示的是在win
系统中,伪协议的实现方式。更多的相关资料内容,大家可以查看下面的链接:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。