外部可执行文件无法加载必要的文件

时间:2019-04-14 09:27:27

标签: javascript node.js electron

我刚刚开始弄乱Electron,在我的第一个项目中,我试图制作游戏的启动器/更新器。我的问题是,当使用“('child_process')。spawn”时,我收到游戏错误消息,提示它无法找到游戏文件。在没有启动器的情况下启动可执行文件,这意味着我的启动器在某种程度上阻止了游戏可执行文件访问所需的文件。

我的实现:

buttons.js:

const { ipcRenderer } = require('electron')
document.getElementById("play").addEventListener("click", function (e) {

ipcRenderer.send('play')

});

在main.js / createWindow上:

ipcMain.on('play', (event) => {
var spawn = require('child_process').spawn;
spawn('C:\\Games\\Game\\Game.exe');
  })

我尝试使用exec / File + Sync,它给出了相同的错误,或者根本不起作用。

1 个答案:

答案 0 :(得分:0)

您的游戏内部文件/资源​​查找可能是以相对于游戏进程当前工作目录(假定它是游戏exe目录)的相对方式进行的。

我认为启动器是从另一个目录运行的,因此要解决您的问题,您需要使用cwd选项调用spawn('C:\\Games\\Game\\Game.exe', {cwd: 'C:\\Games\Game'});

Activity