博瑞博客

青春是一个充满活力的季节,即便是我们失去了天使的翅膀,只要我们还有一颗青春的心,那么我们的生活依然能够如阳光般灿烂!......
现在位置:首页 > 服务器 > Windows > 网页超链接调用本地exe程序

网页超链接调用本地exe程序

江湖    Windows    2016-3-1    998    0评论

网页超链接调用本地exe程序

由于项目需要将VC MFC做的视频监控程序嵌入到web页面里,因此才开始研究这方面,类似于我们点击了迅雷下载,那么系统默认就会启动迅雷程序一样。 按照微软的推荐,应该通过ActiveX,把可执行程序嵌入到网页中,但是我们要购买ActiveX签名,这种方式对于个人来讲并不合理。

最早的方式就是js调用,但是肯定不安全,因为这样做时木马病毒程序无法阻止,会给用户带来灾难性的后果,当然,IE6之后,微软就不再允许这种调用方式。

于是就想起平时网页的弹出框功能了,包括远程登录Telnet,淘宝的阿里旺旺等,于是就去分析实现的原理。原来这些程序在注册表里都有对应的项,因此当点击时,就会默认执行这些程序。

到这里原理就很明白了,我们就可以把自己写好的程序打包成exe文件,然后把执行该exe程序的路径信息写进注册表,在网页超链接中,就可以利用(协议://参数),exe接收该参数,然后执行。

具体步骤如下:

1、启动注册表:很简单,win+r—>regedit,打开注册表

2、建立自己的协议:在HKEY_CLASSES_ROOT下建立一个自己的协议名称(右键新建项),如Camera,Camera下继续创建两个项,分别为DefaultIcon 和 shell,最后在shell下建立command项,此时自己的协议结构就是这样的,下面开始设置对应的值。

 

 

3、首先是Camera项,建立URL Protocol项,并设定默认时的数据

其次是DefaultIcon项,设定数据为要执行的exe文件的全路径

最后是command项,设定数据为exe文件全路径+参数,这里%1就是传递给exe的参数,exe文件接收该参数并执行,如果web网页中的超链接代码为调用远程监控,那么%1这个参数就是“Camera://调用远程监控”字符串。关于参数,Camera://后面的字符串被看作参数,有两种,一种是0,表示完整执行路径,另一种是1,表示网页传过来的字符串。


 

 

4、调试,最简单的html代码,核心就是我们自定义的Camera协议,如下:

在web中点击超链接,执行效果如下:

当然,大家也可以去研究研究如何在IE添加自己的bar。至此,利用URL Protocol实现调用本地exe文件程序简单、粗略的实现。

评论一下分享本文赞助博瑞

赞助博瑞X

扫码赞助博瑞
联系站长
博瑞博客
挤眼亲亲咆哮开心想想可怜糗大了委屈哈哈小声点右哼哼左哼哼疑问坏笑赚钱啦悲伤耍酷勾引厉害握手耶嘻嘻害羞鼓掌馋嘴抓狂抱抱围观威武给力
提交评论

清空信息
关闭评论