使用JS启动本地应用程序、屏幕键盘
问题描述:
现在希望在Web端使用JS调用本地应用程序
问题解决:
(1)使用JS启动本地应用程序

使用上述代码重点是创建了一个ActiveXObject的对象
参考说明:
JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用。使用方法:
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 对象语法有这些部分:
其中newObj是必选项。要赋值为 ActiveXObject 的变量名。
servername是必选项。提供该对象的应用程序的名称。
typename是必选项。要创建的对象的类型或类。
location是可选项。创建该对象的网络服务器的名称。
Automation服务器至少提供一类对象,例如字处理应用程序可能提供应用程序对象、文档对象和工具栏对象。
例如要创建Excel的Application和Sheet对象,代码如下:
var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet")
一旦对象被创建,就可以用定义的对象变量在代码中的引用它。下面我们将通过一个例子来看看对对象和方法的引用,通过对象变量 ExcelSheet 访问新对象的属性和方法和其他 Excel 对象,包括 Application 对象和 ActiveSheet.Cells 集合。代码如下:
1 ExcelSheet.Application.Visible = true;
2 ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
3 ExcelSheet.SaveAs("C:\\TEST.XLS");
4 ExcelSheet.Application.Quit();
(2)经过(1)的代码设置之后,就可以执行程序,但是ActiveXObject是在浏览器中执行的,浏览器需要进行一些设置保证上述JS代码可以正常的执行。
具体设置如下;

如上所示可以对计算机的ActiveX控件和插件进行设置,使得可以正常执行IE调用本地应用程序
(2)使用JS调用屏幕键盘
上述JS中的代码:
var obj=new ActiveXObject('wscript.shell');
obj.run("osk"); //打开屏幕键盘
obj.run(location); //其中location是QQ应用程序的本地地址(地址需要使用“//”)


如上图所示中的键盘就是 使用JS调用出来的屏幕键盘
使用JS启动本地应用程序、屏幕键盘的更多相关文章
- chrome浏览器插件启动本地应用程序
chrome浏览器插件启动本地应用程序 2014-04-20 00:04:30| 分类: 浏览器插件|举报|字号 订阅 下载LOFTER我的照片书 | chrome的插件开发这里就 ...
- 通过Web启动本地应用程序
通过自定义协议在Web中启动本地应用程序 实例是打开本地安装的Word程序 注册自己的协议Windows Registry Editor Version 5.00 [HKEY_CLASSES_RO ...
- PC网页js调用本地应用程序
最近要现实一个在PC网页中实现点击按钮调用本地应用程序的功能 其实实现原理也非常简单, 首先注册一个本地注册表文件,指向本地应用程序路径 其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应 ...
- 自定义URL协议在Web中启动本地应用程序
转自(http://blog.csdn.net/jackychen_king/article/details/7743811) 1.注册应用程序来处理自定义协议 你必须添加一个新的key以及相关的va ...
- 前端使用a标签启动本地.exe程序
目录 1,需求 2,效果图 3,实现原理 4,代码 5,注意事项 1,需求 最近有一个需求,在web页面上有一个按钮,点击按钮,调起本地的.exe程序客户端,我在网上找了很多,感觉都不完整,所以自己总 ...
- 【Web前端】---js调用本地应用程序
最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习.就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传.君要臣死,臣不能不死.更何况 ...
- Asp.Net 之 通过调用 WScript.Shell 启动本地 exe 程序时产生“ automation服务器不能创建对象 ”的错误
我们经常需要通过生成 ActiveXObject("WScript.Shell"); 来调用某一exe文件. 设置网页打印的页眉页脚为空: var HKEY_Root,HKEY_P ...
- JS调用本地应用程序
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- Windows和Mac浏览器启动本地程序
前言 这几天有个需求,需要在IE上启动本地程序,就如下面一样. 一开始,我还以为IE有提供特殊的接口,类似上图中的“RunExe”,可以找了大半天觉得不对经(找不到该方法). 后来想想不对,这种方式是 ...
随机推荐
- ASP.NET缓存 Cache之数据缓存
添加 Cache[Key]=object or Cache.Insert 移除 Cache.Remove(key) 1.将值直接写入Cache 代码如下 复制代码 HttpContext.Curre ...
- .net上传图片并转成二进制流
话不多说,直接上代码 <input id="InputFile" style="width: 399px" type="file" r ...
- sql server 删除表字段和字段的约束
删除数据库表中的字段时,使用了 :alter table 表名 drop column 列名 服务器返回的错误为:Server: Msg 5074, Level 16, State 1, Line 1 ...
- 对索引像素格式的图片进行Setpixel(具有索引像素格式的图像不支持SetPixel)解决方案
最近编写了一个验证码识别软件.其中对png.jpg图片进行二值化处理时,出现了错误:具有索引像素格式的图像不支持SetPixel解决方案.从字面上来看,这说明我对一个具有索引色的图片进行了直接RGB颜 ...
- CString使用
1. 空间分配,如果不是它自己的空间分配方式,需要用函数来手动分配空间,否则大家指向同一块地址,取得内容一样 例子,读取文件到CString ,没有给CString 对象分配空间,而且不是他定义的开拓 ...
- 标签控制器,UITabBarController
注意: 1.tabbar高度不可设置,可通过_tabbar.tabbar.frame设置tabbar的位置 2.tabbar不同页面添加同一个视图后其那面添加的不起作用,只有最后一个才具有所添加的仕途 ...
- jQuery EasyUI 数据网格 - 启用行内编辑(转自http://www.runoob.com/jeasyui/jeasyui-datagrid-datagrid12.html)
可编辑的功能是最近添加到数据网格(datagrid)的.它可以使用户添加一个新行到数据网格(datagrid).用户也可以更新一个或多个行.本教程向您展示如何创建一个数据网格(datagrid)和内联 ...
- Scrapy源码学习(一)
用Scrapy已经有一段时间了,觉得该是看一下源码的时候了.最开始用的时候还是0.16的版本,现在稳定版已经到了0.18.结合使用Scrapy的过程,先从Scrapy的命令行看起. 一.准备 下载源代 ...
- Oracle 表的连接方式(1)-----Nested loop join和 Sort merge join
关系数据库技术的精髓就是通过关系表进行规范化的数据存储,并通过各种表连接技术和各种类型的索引技术来进行信息的检索和处理. 表的三种关联方式: nested loop:从A表抽一条记录,遍历B表查找匹配 ...
- glibc学习介绍篇
C语言自身并没有提供IO,内存管理,字符串操作等类似的机制.作为弥补,C语言有一个标准库帮助C语言实现这些机制.我们在编译C程序的时候基本上都需要链接到这些库文件. GNU C Library定义IS ...