`

用JS执行本地可执行文件

阅读更多

      客户端脚本(比如Javascipt)本身没有权限进行系统调用,但是在windows 系统下,在IE浏览器中利用JS创建activeX对象可以调用本地的可执行文件:

<script language="javascript" type="text/javascript">
	function runExe() 
	{ 
        //创建ActiveX对象
		var shell = new ActiveXObject("WScript.shell"); 
		//命令字符串,路径不能为反斜杠且路径中的文件夹名称中不得有空格,
        //如果出现空格,会被解析成两个命令
		var cmd="d:/test/target.exe";
		//true的t小写
		shell.run(cmd,1,true); 
	} 
</script>

       其中的shell.run参数介绍如下:

       参数1:执行命令字符串;

       参数2:应用执行时的窗口风格,1表示激活并显示窗口;

       参数3:是否等待命令执行完再向下执行,true表示等待。

 

 

 

参考资料:

How to run an executable program on the client?

Client-side scripts themselves cannot make system calls but on Windows systems you can insert Windows Script Host commands in client-side script.

To launch an application on the client machine, place this script in the head of the HTML page.

<script language="javascript" type="text/javascript">
function runApp() 
{ 
var shell = new ActiveXObject("WScript.shell"); 
shell.run("notepad.exe", 1, true); 
} 
</script>


Place this in the body of the HTML page. The button click will trigger off the function and the application is run.

<input type="button" name="button1" value="Run Notepad" onClick="runApp()" />


var shell = new ActiveXObject("WScript.shell");


Creates the WSH object as a new instance of an ActiveXObject.

shell.run("notepad.exe", 1, true);


The run method of WSH starts the executable program.

The first parameter passed into the run method executes the command "notepad.exe".

The second parameter is optional and its integer value specifies the window style of the application launched. The 1 value will activate and display the window.

The third parameter is optional and its boolean value specifies if it is to wait for the command to complete before further execution. The true value will wait for the completion of the command.

Note that running such scripts properly require to change the client's security settings.
分享到:
评论

相关推荐

    javascript打开本地可执行文件

    然而,直接使用JavaScript去打开本地可执行文件涉及安全问题,并且现代浏览器为了保护用户的安全与隐私,默认情况下会阻止这类操作。本文将详细介绍如何利用JavaScript结合其他技术来实现这一功能,并探讨其背后的...

    web服务器端调用客户端可执行文件

    然而,由于安全限制(如同源策略),JavaScript直接调用本地可执行文件的能力受到了严格的限制,以防恶意代码的执行。为了克服这个问题,可以使用几种技术: 1. **ActiveX**:在Internet Explorer中,JavaScript...

    javascript处理本地文件的资料

    在服务器端,如Node.js环境,JavaScript可以通过各种模块和库(如fs模块)直接读写本地文件。例如,使用fs模块创建文件: ```javascript const fs = require('fs'); fs.writeFile('example.txt', 'Hello, world!', ...

    使用JS自动从服务器端下载文件到本地

    标题“使用JS自动从服务器端下载文件到本地”涉及到的核心技术是JavaScript的文件操作和HTTP交互,主要在前端实现从服务器获取文件并保存到本地的功能。这篇博客文章可能讲解了如何利用JavaScript的API来实现这一...

    IE打开本地文件

    例如,通过创建`WScript.Shell`对象,我们可以执行本地的可执行文件(exe)。以下是一个简单的示例: ```javascript var shell = new ActiveXObject("WScript.Shell"); shell.Run("C:\\path\\to\\qq.exe"); ``` ...

    chrome扩展程序开发/chrome运行本地JS脚本

    本文将深入探讨如何在Chrome扩展程序中运行本地JavaScript(JS)脚本,以此来理解这一核心概念。 首先,让我们了解Chrome扩展的基本结构。一个标准的Chrome扩展通常包括以下几个文件: 1. `manifest.json`:这是...

    在ASP中如何调用EXE可执行文件在客户端运行

    在ASP(Active Server Pages)中调用客户端的EXE可执行文件是一个相对复杂的过程,因为出于安全考虑,浏览器和Web服务器通常不允许直接执行客户端的本地程序。然而,如果你需要实现这样的功能,例如为了自动化某些...

    JS音乐播放器,实现获取存储本地音频文件,原生JS实现播放,内含可执行程序

    本项目“JS音乐播放器,实现获取存储本地音频文件,原生JS实现播放,内含可执行程序”正是这样一个实例,旨在帮助开发者理解如何使用纯JavaScript来播放本地音频文件。 首先,我们要知道HTML5的Audio元素是实现音乐...

    vue-admin-element+Electron打包exe可执行文件(输出为dist文件夹即可)

    在标题和描述中提到的“vue-admin-element+Electron打包exe可执行文件”,意味着开发者正在尝试将基于Vue.js和Element UI的管理后台应用与Electron结合,打包成Windows平台的.exe可执行文件。这个过程通常是为了将...

    js实现创建和删除系统文件

    - **Native Messaging**:高级的扩展开发还可以利用Native Messaging,通过JSON消息与本地安装的可执行程序通信,间接实现文件系统的操作。 4. **WebAssembly**: - **Emscripten和FFI**:随着WebAssembly的发展...

    关于润乾报表超链接调用js文件实现可交互

    链接地址可以填写为本地或网络上的js文件路径,例如`javascript:runJsFile('path/to/your/jsfile.js')`。这里的`runJsFile`是一个预定义的函数,用于执行js文件中的代码。 2. **编写JavaScript文件**:在`path/to/...

    element JS资源库(本地执行)下载

    标题中的“JS资源库(本地执行)下载”表明这是一个包含Element UI所有必要文件的压缩包,允许你在本地环境中直接使用,无需依赖网络下载。 在描述中提到,“包含js和css”,这意味着压缩包内至少包含了Element UI...

    Node.js-将您的Node.js项目打包成一个可执行文件

    在Node.js开发中,将项目打包成一个可执行文件是一个常见的需求,这使得用户无需安装Node.js环境即可直接运行程序。这个过程涉及到几个关键步骤和技术,我们将在以下内容中详细探讨。 首先,我们需要理解Node.js...

    网页js脚本注入,可执行任意代码。

    在这个实例中,我们将展示如何使用JS脚本注入来突破网页本地脚本验证方法,跳过验证码,并自动批量查询信息。 网页JS脚本注入的基本理论是,网页通过浏览器执行JS脚本代码,实现对用户输入信息的合法性验证。在这个...

    js调用本地exe(根据注册表读取内容)

    在JavaScript(JS)环境中,通常情况下,由于浏览器的安全限制,我们无法直接调用本地的可执行文件(如.exe)。然而,对于一些特定场景,比如在Node.js环境下或者使用某些插件,可以实现与本地系统的交互,包括读取...

    chrome浏览器js调用exe

    在IT行业中,有时候我们需要在网页应用中实现与本地系统的交互,比如通过JavaScript(JS)调用本地的可执行文件(exe)。本主题聚焦于在Chrome浏览器中如何利用JS实现这样的功能,这通常涉及到浏览器安全策略、...

    Node.js-Node.jsCompiler:将您的应用程序编译为单个可执行文件

    在标题和描述中提到的“Node.js Compiler”,实际上可能是指将 Node.js 应用程序打包成单一可执行文件的工具或技术,这有助于简化分发和部署流程。 在 Node.js 开发中,我们通常会使用各种模块和依赖,这些依赖分布...

    webview加载本地的html文件

    注意,加载本地文件时,为了保证安全性,通常会禁用WebView的JavaScript执行,但若需要执行JavaScript代码,可以使用`webView.getSettings().setJavaScriptEnabled(true);`来启用。 在实际应用中,我们可能还需要对...

    JS获取文件大小方法小结

    ActiveX控件是微软提供的一种插件机制,允许网页嵌入可执行代码。以下是一个示例,展示了如何通过创建`Scripting.FileSystemObject`对象来获取文件大小: ```javascript function getFileSize(filePath) { var fso...

Global site tag (gtag.js) - Google Analytics