基于Chrome浏览器调用客户端程序
来源:互联网 发布:搞笑吐槽电影知乎 编辑:程序博客网 时间:2024/06/06 10:59
基于Chrome浏览器调用客户端程序
1.在IE中可以使用ActiveXObject对象调用客户端程序,调用需要设置IE浏览器的安全“自定义级别”,即将ActiveX选项的子项设置为启用。然后刷新即可调用,js调用方式:executableFullPath 为被调用的程序的所在目录;以Chrome调用QQ客户端为例:
var executableFullPath = "E:/Boyce/software/QQScLauncher.exe"; try { var shellActiveXObject = new ActiveXObject("WScript.Shell"); if(!shellActiveXObject) { alert('Could not get reference to WScript.Shell'); shellActiveXObject.exec(executableFullPath); shellActiveXObject = null; return; } catch(errorObject) { alert('Error:\n' + errorObject.message); }
- 在Chrome中用如上方法调用,会出现ActiveXObject is not defined ,这是因为Chrome出于安全性考虑已经禁止直接调用客户端程序,去除了内置对象ActiveXObject,在Chrome下解决该问题思路,可以选择使用 “url protocol handler”私有协议,widows提供了用户可自定义的协议,使用私有协议首先需要到注册表下添加协议的属性(类型、key、值),通过已定义的私有协议可以就可以调用本地客户端程序,实现步骤:
1>添加注册表:
新建文本文档粘贴如下代码:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\F1] @="URL:F1 Protocol Handler" "URL Protocol"="" [HKEY_CLASSES_ROOT\F1\shell] [HKEY_CLASSES_ROOT\F1\shell\open] [HKEY_CLASSES_ROOT\F1\shell\open\command] @="E:\\Boyce\\path\\qq\\Bin\\QQScLauncher.exe"
注册表说明:
Windows Registry Editor Version 5.00:注册表的版本, F1:私有协议的key;可自定义 @="URL:F1 Protocol Handler":指定对应协议类型 Shell:关键字 Open:动作 Command:要执行的命令 @="E:\\Boyce\\path\\qq\\Bin\\QQScLauncher.exe" :命令值
一个注册表文件可声明多个添加注册表的命令行;
2>执行:
另存为为注册表文件.reg,编码为unicode,否则会报“…不是二进制文件….”;以管理员身份运行注册表。
3>调用:
在页面中添加调用,最简单方式示例调用即可,F1:已经添加的私有协议。在浏览器中点击链接即可打开对应客户端程序。
测试示例:
点击弹出效果
成功打开qq登录界面
阅读全文
0 0
- 基于Chrome浏览器调用客户端程序
- Winform调用WebKitBrowser,基于chrome内核WebKit的浏览器控件
- Chrome 浏览器客户端调试大全
- Chrome浏览器调用摄像头拍照
- chrome 浏览器调用 ocx 插件
- chrome浏览器的javascript调用
- Google Chrome Protable 版设置为默认浏览器后,外部程序调用问题
- 谷歌Chrome 操作系统基于浏览器的OS
- 基于.net开发chrome核心浏览器【一】
- 基于.net开发chrome核心浏览器【二】
- 基于.net开发chrome核心浏览器【一】
- 基于.net开发chrome核心浏览器【二】
- 基于.net开发chrome核心浏览器【二】
- 基于.net开发chrome核心浏览器【一】
- 基于.net开发chrome核心浏览器【一】
- 基于.net开发chrome核心浏览器【二】
- 基于.net开发chrome核心浏览器【三】
- 基于.net开发chrome核心浏览器【四】
- Twenty Questions UVA
- 数据结构之二叉树实践练习
- Python 第五章练习
- Spring MVC 文件上传
- 为caffe添加最简单的全通层AllPassLayer
- 基于Chrome浏览器调用客户端程序
- Effective Java
- laravel Request的所有方法
- 深度学习入门基础讲义
- 浮点运算
- 浅析TCP三次握手和四次握手
- laravel Request方法(2)
- 深入浅出认识Hive
- ACM训练 算法集锦