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

标签 javascript node.js electron

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

我的实现:

按钮.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,但要么给出相同的错误,要么根本不起作用。

最佳答案

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

我假设启动器是从另一个目录运行的,因此要解决您的问题,您需要使用 cwd 选项调用 spawn :

spawn('C:\\Games\\Game\\Game.exe', {cwd: 'C:\\Games\Game'});

关于javascript - 外部可执行文件无法加载必要的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55673788/

相关文章:

javascript - 等待一个事件来解决一个 promise

python - 通过spawn将JSON从python返回到 Node

javascript - 在Electron应用程序中以表格形式下载图像并通过 Canvas 绘制它不起作用,我该怎么办?

javascript - 环回给出超出最大调用堆栈大小的错误

javascript - 使用 Angular 加入 1-1 聊天后 PubNub ChatEngine "Converting circular structure to JSON"错误

javascript - 什么时候浏览器会在 SSL 站点上抛出不安全内容警告

javascript - 使用 jQuery 随机引用

node.js - 如何读取 STDIN 并启动祝福的终端应用程序?

electron - 用 Electron 方式查看的网站无法加载所有资源

node.js - 误差k是来自 Angular 还是 Electron ?