繁体   English   中英

节点-子进程生成路径

[英]Node - child process spawn path

我想从Node Webkit应用程序在Windows中运行一个exe。

我正在尝试以下代码,但无法正常工作。

document.getElementById('play').onclick = function()
{
    var spawn = require('child_process').spawn;
    var child = spawn(__dirname + '/core.exe', ['/arg1']);

    var snd = new Audio("min.wav"); 
    snd.play();
    win.minimize();

    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);
        var snd = new Audio("restore.wav"); 
        snd.play();
        win.restore();
    });
}

我走错了路吗? 我需要它是当前目录,并使用该名称和示例arg运行exe。

输出应该是一个消息框,但不会加载任何内容。

设法弄清楚了,它没有定义,因为我是在浏览器上下文中使用它的。 由于某种原因,我没有获得nw.js SDK版本,发现__DIRNAME未定义。 提出了这个解决方案。

    var path = require('path');
    var nwDir = path.dirname(process.execPath);
    var spawn = require('child_process').spawn;
    var child = spawn(nwDir + '/app/core.exe', ['/arg1']);

现在按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM