一般情况下,浏览器中是无法直接和本机的其他的程序进行交互的,在IE中,我们可以通过ActiveX对象的方式进行。但是这个方式只适用于IE浏览器,另一种比较通用的方式便是URL协议的方式,我们将某种URL的协议注册给某个程序来进行处理,比如将tencent://这样的协议注册给QQ程序来进行处理,当浏览器需要访问这样的协议的时候就转给QQ程序进行处理。这种URL协议的方式是可以跨平台的,比如在Windows上你需要添加注册表项。
首先先看看js应该如何调用qq客户端。
window .open(" tencent://message/?uin=346915968 ")
window.open顾名思义,打开。Tencent就不用多说了吧 BAT之T。上述能直接打开qq帐号对应的对话框。由此可以知道网页上的在线客服功能是如何实现了吧。
那要是不需要打开对话框,就想要登陆qq应该如何实现呢?很简单呀:
window .open(" tencent://message/?uin=qq ") 不过调用应用这种跟黑客没什么差别的行为,浏览器一般都是禁止的,
选择允许后,
启动应用,qq客户端就会被调起。
为什么说这个呢,老板又给了个需求,想让调起qq客户端一样,想通过演示页面的一个按钮,调起售票系统的各种程序...
什么都不说了,先看看什么是自定义协议。
Pluggable Protocol,又叫URL Protocol,有时会叫Shell命令,通用的Protocol有http、ftp、mailto等,这些都是windows安装时自带的协议。
接着也实现一个简单的自己的自定义协议吧。
1,运行window,输入regedit打开注册表。 在HKEY_CLASSES_ROOT下面建一个自己起的名字的表。
用如下格式把各项值添上:
js打开qq音乐.exe
启动应用
end.
骤如下假设我们准备好的exe主程序放置在d:/print/print.exe
编辑注册表信息如下
在hkey_classes_root下面新建一个shitou目录
编辑目录的默认属性,值为shitouProtocol
接着再新建一个字符串值,名称为URL Protocol,值为d:/print/print.exe
接着在新建一个项(目录),目录名为DefaultIcon,编辑该目录的默认属性,值为d:/print/print.exe,1
在shitou下面再新建一个项,名称为shell
在shell下面再新建一个项,名称为open
在open下面再新建一个项,名称为command,编辑该目录的默认属性,值为”d:/print/print.exe” “%1”
完成设置(在xp系统下需要重启)
完成设置
在网页a链接中,href=”shitou://”就可以打开该exe程序了(亲测兼容各个浏览器)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)