JS调用exe程序

1. 准备一个.exe的可执行文件,在D盘下新建文件夹JSexe,在JSexe下新建C++文件,命名为MakeExe,并写入如下代码

#include <string>
#include <iostream>
#include <sstream>
using namespace std;

int main(int argc, char * argv[])
{	int a;
	for(int i=0;i<argc;i++){
		cout<<argv[i]<<endl;
	}
	cin>>a;
    return 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

代码很简单,就是接受参数,并输出参数,cin>>a是为了不让控制台退出,能看到输出结果。

2.编译上而代码生成可执行文件,我用的是CFree(下载地址 )编译的代码运行效果如下

JS调用exe程序_JavaScript

3.在JSexe下新建JSEXE.html文件,写入以下html代码:

<html>    <head>  
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
  <title>js</title> 
  <SCRIPT language=JavaScript>  
  function Run(strPath)
  {  
             try  
             {  
		    var objShell = new ActiveXObject("wscript.shell");  
                   objShell.Run(strPath);  
                   objShell = null;  
             }  catch(e){
                  alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确.');
				  alert(e.message); 
				  alert(e.description); 
				  alert(e.number) ;
				  alert(e.name); 
             }  

  }  

  </SCRIPT>  
  </head>
  <!--以下是三种调用方式,onLoad(),oclick(),再就是直接写连接地址调用-->
  <body >
  <a href="#" οnclick="Run('file:///D:/Php/Apache/htdocs/JSexe/zhaochao.exe Hello World')">运行EXE</a>  
  </body>    
  </html>4.用IE打开JSEXE.html,点击”运行EXE“可看到效果如下:
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

JS调用exe程序_JS_02

单击是,就可看到程序运行效果

JS调用exe程序_html_03

注意:

1.只能在支持Active控件的浏览器上运行;

2.如果Active控件被阻止,请设置IE属性允许加载Active控件,设置方法在IE里Internet项->安全 自定义级别,将ActiveX控件和插件里选项都启用,如下图;

JS调用exe程序_html_04

3.如果还不能运行打开运行输入以下命令,注册控件;

regsvr32 c:\WINDOWS\system32\scrrun.dllregsvr32 c:\WINDOWS\system32\WSHom.Ocxregsvr32 c:\WINDOWS\system32\shell32.dll通过以上方法,IE下应该是可以实现JS调用EXE程序的  


<pre name="code" class="html">
  • 1.
  • 2.
  • 3.
  • 4.