李翰博,伊喜地,十个光头九个富
在ie中提供了activexobject方法,于是在ie下可以这样写:
<script type="text/javascript"> function getjkmonitor(serviceinfo) { var shell = new activexobject("wscript.shell"); try { //exe程序所在位置以及要传的参数 var kk = "c:\\kdmonitor\\kdmonitor.exe 888888"; var aa = shell.run(kk, 1, false); } catch (e) { alert("该可执行文件不存在"); } } //调用函数 getjkmonitor(); </script>
在让整个网页运行在ie下给人不是很好的体验,于是实现在其他浏览器下该多好。
其他浏览器的实现需要自定义注册表,注册表内容如下:
windows registry editor version 5.00 [hkey_classes_root\netposavideo] "url protocol"="c:\\kdmonitor\\kdmonitor.exe" @="netposavideoprotocol" [hkey_classes_root\netposavideo\defaulticon] @="c:\\kdmonitor\\kdmonitor.exe,1" [hkey_classes_root\netposavideo\shell] [hkey_classes_root\netposavideo\shell\open] [hkey_classes_root\netposavideo\shell\open\command] @="\"c:\\kdmonitor\\kdmonitor.exe\" \"%1\""
第一行是注册表工具的版本信息;
第二行中的netposavideo就是在hkey_classes_root下面添加一个netposavideo树,其中netposavideo的名称就对应着自定义url protocol的名称,在web中调用的时候需要这个名称;
第三行中的是指定应用程序的路径,注意:只能是exe的程序,每级目录之间用双反斜杠;
第四行是协议的名称;
第五行表示在simu中再加一个分支,照抄;
第六行也是对应的程序路径,后面的1照抄;
第七、第八、第九行同第五行;
第十行也是将路径换成自己的程序路径,其中%1表示到参数。
将#之间的内容复制到一个txt文档中,修改后缀名为.reg,双击该文件即可直接导入到注册表中。
html调用:
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
[书籍精读]《响应式Web设计 HTML5和CSS3实战(第二版)》精读笔记分享
网友评论