在网页中打开本地EXE程序
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
在很多网页中,经常会遇到在web中调用本地应用程序的情况,最常见的就是QQ客服和淘宝的阿里旺旺客服。以QQ客服为例,当我们点击网页上的聊天按钮时,就会将QQ聊天框弹出来。其实这是通过修改注册表来完成的。
PS:QQ的聊天按钮已经开源,在自己的网页上添加QQ客服功能非常容易,只需要将QQ提供的一段代码嵌入到自己的网页中就可以了,点击这里了解详细。
下面介绍实现在网页中打开本地Exe程序的主流方法。这些方法不是我的原创,是根据别人的文章做实验得到的。
修改注册表
在windows中,注册表中包含各种协议(http,ftp,telnet等)的信息,包含了默认打开方式的参数。我们也可以通过在注册表中添加一个自定义的URL协议来打开自己的应用程序。浏览器在解析到自定义URL 协议之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数。方法如下:
新建一个txt文本,写入下面信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Windows Registry Editor Version 5.00 #协议名称为openExeTest [HKEY_CLASSES_ROOT\openExeTest] "URL Protocol"="d:\\test.exe" @="openExeTestProtocol" [HKEY_CLASSES_ROOT\openExeTest\DefaultIcon] @="d:\\test.exe,1" [HKEY_CLASSES_ROOT\openExeTest\shell] [HKEY_CLASSES_ROOT\openExeTest\shell\open] #调用URL协议时,打开的程序路径 [HKEY_CLASSES_ROOT\openExeTest\shell\open\command] @="\"d:\\test.exe\" \"%1\"" |
另外,如果你想添加新的协议从而打开另外一个应用程序,只要修改将上面文本的第4行所表示的协议名称,以及第6、9、17行所表示的应用程序路径就好了。
把该文本文件的后缀名改成reg,保存之后双击该文件,可直接导入到注册表中。导入之后的注册表如下图所示:
添加注册表协议
Web中调用自定义协议启动程序
调用协议很简单,新建一个HTML文件,写入下面内容:
<a href=”openExeTest:”>Open Exe</a>
该页面效果如下:
web调用外部EXE
点击页面上的链接,会弹出外部协议请求对话框:
外部协议请求对话框
选择“启动应用”,即可打开d盘根目录下的test.exe这个应用程序了。
下载示例工程
http://guzhou.me/%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%AD%E6%89%93%E5%BC%80%E6%9C%AC%E5%9C%B0exe%E7%A8%8B%E5%BA%8F/
学习日记,兼职软件设计,软件修改,毕业设计。
本文出自 学习日记,转载时请注明出处及相应链接。
本文永久链接: https://www.softwareace.cn/?p=605