`
linqincai
  • 浏览: 24121 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

js网页中调用客户端可执行程序(解决目录空格问题)

阅读更多

本文转载自:http://mengqingyu.iteye.com/blog/468384

 

 

下面以腾讯RTX安装程序为例,利用js调用客户端RTX。注:必须降低IE浏览器安全或是加入可信站点,才可以顺利执行。
Js代码 复制代码
  1. <html>   
  2. <head>   
  3. <title>RTX</title>   
  4. <script>   
  5. function exec () {   
  6.   var command;   
  7.     var shell = new ActiveXObject("WScript.Shell");    
  8.     command = shell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\RTXC\\INSTDIR");//从注册表获得软件安装路径   
  9.     command = command + "RTX.exe";   
  10.   window.oldOnError = window.onerror;   
  11.   window._command = command;   
  12.   window.onerror = function (err) {   
  13.     if (err.indexOf('utomation') != -1) {   
  14.       alert('命令' + window._command + ' 已经被用户禁止!');    
  15.       return true;   
  16.     }   
  17.     else return false;   
  18.   };   
  19.   var wsh = new ActiveXObject('WScript.Shell');   
  20.   if (wsh)   
  21.     wsh.Run("\""+command); //解决目录包含空格问题   
  22.   window.onerror = window.oldOnError;   
  23. }   
  24. </script>   
  25. </head>   
  26. <body>   
  27. <center><a href="javascript:" onclick="exec()">RTX测试</a></center>   
  28. </body>  
<html>
<head>
<title>RTX</title>
<script>
function exec () {
  var command;
	var shell = new ActiveXObject("WScript.Shell"); 
	command = shell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Tencent\\RTXC\\INSTDIR");//从注册表获得软件安装路径
	command = command + "RTX.exe";
  window.oldOnError = window.onerror;
  window._command = command;
  window.onerror = function (err) {
    if (err.indexOf('utomation') != -1) {
      alert('命令' + window._command + ' 已经被用户禁止!'); 
      return true;
    }
    else return false;
  };
  var wsh = new ActiveXObject('WScript.Shell');
  if (wsh)
    wsh.Run("\""+command); //解决目录包含空格问题
  window.onerror = window.oldOnError;
}
</script>
</head>
<body>
<center><a href="javascript:" onclick="exec()">RTX测试</a></center>
</body>

分享到:
评论
1 楼 海盗大哥 2011-06-20  
这句是重点
  wsh.Run("\""+command); //解决目录包含空格问题   

相关推荐

    程序天下:JavaScript实例自学手册

    20.15 执行客户端的可执行程序 20.16 自动调用OutLook发送邮件 20.17 弹出窗口选择颜色 20.18 弹出框式邮件发送 20.19 把网站作为用户的Active桌面 20.20 判断是否安装了flash插件 第21章 流行技术:DOM和userData的...

    《程序天下:JavaScript实例自学手册》光盘源码

    20.15 执行客户端的可执行程序 20.16 自动调用OutLook发送邮件 20.17 弹出窗口选择颜色 20.18 弹出框式邮件发送 20.19 把网站作为用户的Active桌面 20.20 判断是否安装了flash插件 第21章 流行技术:DOM和userData的...

    精易官方免费模块v3.60版

    3.新增“网页_置浏览器UA” 设置当前程序中浏览器的UserAgent 感谢 阿蒙 提供代码 1.完善 “进制_十到二” 取消长度不足8位自动会补零,请根据需要补零 感谢 小爬虫 的提醒 2.完善 类_ODBC数据库,“读文本”参数二...

    精易模块[源码] V5.15

    4、新增“目录_取运行目录”取当前被执行的易程序文件所处的目录。同易支持库功能一样。 5、新增“取对象指针”取对象指针。相当于特殊功能支持库-&gt;取变量数据地址。 6、新增“取变体型指针”取对象指针。相当于特殊...

    亮剑.NET深入体验与实战精要2

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

    亮剑.NET深入体验与实战精要3

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

    超实用的jQuery代码段

    超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...

    ExtAspNet_v2.3.2_dll

    -修正了IE下Grid中的一个JS问题(feedback:lqm4108)。 -修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正弹出对话框的宽度计算错误(会保持最小的状态)。 -增加新的...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例267 解决SESSION中的常见问题 353 实例268 控制页面的访问权限 354 实例269 将SESSION数据存储到数据库中 355 实例270 SESSION更换聊天室界面 357 实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例267 解决SESSION中的常见问题 353 实例268 控制页面的访问权限 354 实例269 将SESSION数据存储到数据库中 355 实例270 SESSION更换聊天室界面 357 实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形...

    IBM WebSphere Portal门户开发笔记01

    60、JS执行EXE可执行文件 336 61、JS读取注册表且执行EXE文件 336 62、JS与VBSCRIPT的结合使用 337 63、IE与火狐获取标签的文本内容方法 338 64、JS自动检测IFRAME内容高度并自动设置为IFRAME高度 338 65、JS MOVETO...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正了IE下Grid中的一个JS问题(feedback:lqm4108)。 -修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正弹出对话框的宽度计算错误(会保持最小的状态)。 -增加新的...

    计算机应用技术(实用手册)

    解决方法:打开机箱,把主板上的一节纽扣电池取出,换上一节新的既可,或是CMOS被放电了,从新进入CMOS设置时间保存并退出就可解决此问题。 Press F1 tocontinue ,DEL to enter SETUP 按F1可以继续启动,按DEL进入...

    Java面试宝典2010版

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 2、编写一个程序,将d:\java目录下的所有.java文件复制到d:\...

    最新Java面试宝典pdf版

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    PHP和MySQL Web开发第4版pdf以及源码

    目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1...

    PHP和MySQL Web开发第4版

    目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 1.2.1 创建订单表单 1.2.2 表单处理 1.3 在HTML中嵌入PHP 1.3.1...

    Java面试笔试资料大全

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    java面试题大全(2012版)

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

    PHP和MySQL WEB开发(第4版)

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets...

Global site tag (gtag.js) - Google Analytics