如何在Node Webkit中运行外部exe?

泽瓦尔德

我正在将Node Webkit用于我的Web应用程序,而我真的是使用Node Webkit的新手。我想在我的应用程序中运行我的exe,但是我什至不能使用'child_process'打开简单的记事本。我在网站上看到了一些示例,但仍然很难运行notepad.exe,请提供帮助,并非常感谢。

var execFile = require 
('child_process').execFile, child;

child = execFile('C:\Windows\notepad.exe',
function(error,stdout,stderr) { 
if (error) {
            console.log(error.stack); 
            console.log('Error code: '+ error.code); 
            console.log('Signal received: '+ 
            error.signal);
           } 
console.log('Child Process stdout: '+ stdout);
console.log('Child Process stderr: '+ stderr);
 }); 
child.on('exit', function (code) { 
console.log('Child process exited '+
'with exit code '+ code);
});

我也尝试使用meadco-neptune插件运行exe并添加插件,我将代码放在package.json文件中,但是它表明无法加载插件。我的package.json文件是这样的

 {
   "name": "sample",
   "version": "1.0.0",
   "description": "",
   "main": "index.html",
   "window": {
   "toolbar": false,
   "frame": false,
   "resizable": false,
   "show": true,

   "title": " example"
             },
   "webkit": {
   "plugin": true
             },
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
             },
    "author": "xyz",
    "license": "ISC"
 }
瓦维洛夫

在node.js中,有两种使用标准模块启动外部程序的方法child_processexecspawn

使用exec时,在外部程序退出会得到stdout和stderror信息。就像Mi Ke Bu在注释中正确指出的那样,数据才返回到node.js。

但是,如果您希望以交互方式从外部程序接收数据(我怀疑您真的不会启动notepad.exe),则应该使用另一种方法- spawn

考虑示例:

var spawn = require('child_process').spawn,
    child    = spawn('C:\\windows\\notepad.exe', ["C:/Windows/System32/Drivers/etc/hosts"]);

child.stdout.on('data', function (data) {
  console.log('stdout: ' + data);
});

child.stderr.on('data', function (data) {
  console.log('stderr: ' + data);
});

child.on('close', function (code) {
  console.log('child process exited with code ' + code);
});

另外,您还需要在路径名称中使用双反斜杠:C:\\Windows\\notepad.exe,否则您的路径将被评估为
C:windows notepad.exe(带有换行符),这当然不存在。

或者,您可以仅使用正斜杠,如示例中的命令行参数中所示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Ubuntu 12.04中运行Node Webkit App?(Node JS)

来自分类Dev

Eclipse CDT-如何在外部控制台(cmd.exe)中运行已编译的.exe

来自分类Dev

如何在Node Webkit中的Windows之间共享数据?

来自分类Dev

如何在Python中运行.exe文件

来自分类Dev

如何在ubuntu中运行.exe文件?

来自分类Dev

如何在vbscript中静默运行exe

来自分类Dev

如何在ubuntu中运行.exe文件?

来自分类Dev

在Node-Webkit应用程序外部要求/运行JavaScript

来自分类Dev

在Node-Webkit应用程序外部要求/运行JavaScript

来自分类Dev

如何在Gulp中运行外部文件?

来自分类Dev

如何在PHP中运行外部链接

来自分类Dev

如何在Node中运行PAC代理脚本?

来自分类Dev

如何在Node中运行PAC代理脚本?

来自分类Dev

如何在 Node Red 中同时运行多个查询?

来自分类Dev

如何在 node.js 中逐行运行代码

来自分类Dev

如何在Node JS中打印对象

来自分类Dev

如何在node.js中搜索?

来自分类Dev

如何在Node js中创建图像?

来自分类Dev

如何在Node中承诺并等待setImmediate?

来自分类Dev

如何在Node中设置API环境

来自分类Dev

如何在JavaFX中处理Node焦点

来自分类Dev

如何在Node JS中执行forloop

来自分类Dev

如何在 Node js 中添加会话

来自分类Dev

如何在TD 6.3程序(SalLoadApp)中运行.exe?

来自分类Dev

如何在python中运行/执行exe文件?

来自分类Dev

如何在 Kubuntu 上的 Dolphin 中运行 exe 文件

来自分类Dev

如何在Node-Webkit中保留Cookie

来自分类Dev

在Netbeans 7.4中运行node-webkit项目

来自分类Dev

在node-webkit中从JavaScript运行shell命令?