从 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 一起运行

如何从 Ruby 1.9.2 降级到 Ruby 1.8.7 以运行 Rails 2.0.2

每分钟运行一次 cron 作业,但从特定时间开始

将 php 从 5.6.9 降级到 5.3.3 debian jessie