利用Register protocol实现网页调用桌面程序

50 篇文章 0 订阅

腾讯官方通过 Tencent://Message/协议可以让QQ用户显示QQ/TM的在线状态发布在互联网上。这是一个典型的案例。

下面我们自己来实现这样的需求:

具体原理可参照如下:http://msdn.microsoft.com/en-us/library/Aa767914.aspx

 

要实现如上功能,最主要的还是对注册表的处理。新建一个注册表文件

 

Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT/FinstoneRpt]
@="FRptProtocol"
"URL Protocol"="I://Release//CZBYReport.exe"
 
[HKEY_CLASSES_ROOT/FinstoneRpt/DefaultIcon]
@="I://Release//CZBYReport.exe,0"
 
[HKEY_CLASSES_ROOT/FinstoneRpt/shell]
 
[HKEY_CLASSES_ROOT/FinstoneRpt/shell/open]
 
[HKEY_CLASSES_ROOT/FinstoneRpt/shell/open/command]
@="/"I://Release//CZBYReport.exe/" /"%1/""

 

以上定义了协议名:FinstoneRpt,及相关调用处理程序的位置。各位可自行调整。将上述内容导入到注册表中,然后在相关网页里加上一个连接<a href="FinstoneRpt://message/?id=3e5065a6-19a0-41e6-afab-db7cc4bd3c76">test</a>,当点击时,则会调用注册表中记录的程序。当然该程序可以接受参数:就是href里的所有内容。可根据情况自行判断处理。

 

如需通过VS的安装程序实现安装时自动执行以上操作。在安装程序里,导入上述注册表文件,因为用户安装时的路径不一样,要定位注册表中记录的程序,只需在VS里将相关注册键值修改:

 

将涉及具体地址都一一改成[TARGETDIR]程序名,即可。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值