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>

你可能感兴趣的:(JavaScript,浏览器,腾讯,软件测试,IE)