从 electron-angular9 运行一个 exe
Posted
技术标签:
【中文标题】从 electron-angular9 运行一个 exe【英文标题】:Running an exe from electron-angular9 【发布时间】:2021-09-25 08:40:58 【问题描述】:我有一个 electron-angular9(不是 js)项目,我想运行一个控制台应用程序,其中包含来自电子应用程序的一些参数。
有可能吗?如果是,我该怎么做?
【问题讨论】:
【参考方案1】:这是可能的,通过使用 IpcMain 和 ElectronService。 基本上我们所做的是从 chromiu 进程向 electron 进程发送消息,因为 chromiu 进程不是从本地机器运行 exe 文件的电缆,因为它是一个安全问题,因此它被设计阻止了这样做。 一旦 electron 进程获得 massege,它就可以使用所需的参数调用可执行文件。
在我们启动整个应用程序的 main.js 文件中需要定义:
const ipcMain = require('electron')
ipcMain.on('synchronous-message', (event, arg) =>
let executablePath = ".\\my.exe";
var child = require('child_process').execFile;
child(executablePath, arg, function (err, data)
console.log(data.toString());
event.returnValue = data;
);
);
在你要发送synchronous-message
的角度项目中:
import ElectronService from 'ngx-electron';
constructor(private _electronService: ElectronService)
public CallExe()
var parameters = [ this is the parameters array];
var pong = this._electronService.ipcRenderer.sendSync('synchronous-message',parameters);
console.log(pong);
【讨论】:
以上是关于从 electron-angular9 运行一个 exe的主要内容,如果未能解决你的问题,请参考以下文章
Python Killed: 9 在使用从 2 个 csv 文件创建的字典运行代码时
应用程序不会从命令提示符运行,而是通过双击运行 ERROR: WERC6F9.tmp.WERInternalMetadata.xml
如何在 MACOS 上将 Java 从 9 降级到 8。 Eclipse 未与 Java 9 一起运行