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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外部可执行文件无法加载必要的文件相关的知识,希望对你有一定的参考价值。

我刚刚开始搞乱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,它可能会出现相同的错误或根本不起作用。

答案

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

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

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

以上是关于外部可执行文件无法加载必要的文件的主要内容,如果未能解决你的问题,请参考以下文章

加载图像仅在可执行文件打开时有效

无法找到指定dll库文件skinH_EL.dll中的输出命令skinH_Attach_EX_

学习笔记 链接

由于找不到vcruntime140.dll,无法继续执行代码

Spring Boot 可执行 jar 和外部配置文件

在 Visual C++ 2003 中附加到外部可执行文件