类似qq或者迅雷可以直接在网页中点击链接打开本地程序,实现的方式是在注册表中添加URL协议。
可以参考mailto这个协议,在web页中使用mailto定义一个链接的href可以直接打开邮件客户端。
在注册表HKEY_CLASSES_ROOT\mailto项中定义,如图:
我们主要关注默认项和URL Protocol这两项, 默认项 中的MailTo即定义协议的命令名称 ,URL Protocol项 一般为空。
HKEY_CLASSES_ROOT\mailto\DefaultIcon中为定义默认的icon。
关键是在HKEY_CLASSES_ROOT\mailto\shell\open\command中来定义这个协议所打开的程序:
值中的引号部分为需要打开的程序的路径 %1为传递给程序的参数,一般在应用程序的入口函数main中来取到这个参数。
在注册表HKEY_CLASSES_ROOT中自定义一个类似的项目后就可以在浏览器中点击链接直接打开想要的程序了。