Windows 注册自定义的协议 实现通过网页调用本地程序的功能例如QQ等

1、注册应用程序来处理自定义协议

         你必须添加一个新的key以及相关的value到HKEY_CLASSES_ROOT中,来使应用程序可以处理特殊的URL协议。

         新注册的key必须与协议scheme相匹配才可以被添加。例如,增加一个“alert:”协议,被增加到HKEY_CLASSES_ROOT的key必须是alert。在这个新的key之下,默认的字符串value将显示新协议的名字,并且URL协议字符串value将包含协议特有的信息或者空字符串。Keys将同样被添加到DefaultIcon和shell中。

         默认的DefaultIcon key的字符串value必须是新URL协议图标文件名的路径。

         在shell key之下,一个key使用一个动词(就像open)将被添加。一个command(命令) key和一个DDEEXEC(动态数据交换执行) key都是使用动词来添加的。这command和DDEEXEC keys之后的values都是用来调用(或者启动)处理新协议的应用程序。

 

2、启动处理程序

         当一个用户点击一个注册了你的自定义URL协议的链接后,Windows Internet Explorer(IE)启动注册的URL协议的处理器。如果指定shellopen命令在注册表中包含一个%1参数的话,Internet Explorer传递这个URI给注册协议的处理器。这最后的统一资源标识符(URI)被编码(%1);即16进制换码符被转换为等价的UTF-16字符。例如,用%20字符串取代空格。

         安全警示:应用程序处理URL协议必须全力面对恶意数据。因为处理程序接收来自不信任源的数据,URL和其它参数值传递给应用程序可能包含的恶意数据企图使用处理程序。因此,处理程序可以首先启动基于外部数据的空闲行为确认这些行为以及它们的用户。

 

3、示例

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\LxNetWork]

@="LxNetWorkProtocol"

"URL Protocol"="D:\\abc.exe"


[HKEY_CLASSES_ROOT\LxNetWork\DefaultIcon]

@="D:\\abc.exe,1"


[HKEY_CLASSES_ROOT\LxNetWork\shell]


[HKEY_CLASSES_ROOT\LxNetWork\shell\open]


[HKEY_CLASSES_ROOT\LxNetWork\shell\open\command]

@="\"D:\\abc.exe\" \"%1\""

3、调用

<a href="LxNetWork://Message"> dd</a> 

将这里的代码保存到TXT然后在改成HTML,打来试一下正常吗?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值