【问题标题】:Running an exe from electron-angular9从 electron-angular9 运行一个 exe
【发布时间】:2023-03-16 22:54:01
【问题描述】:

我有一个 electron-angular9(不是 js)项目,我想运行一个控制台应用程序,其中包含来自电子应用程序的一些参数。

有可能吗?如果是,我该怎么做?

【问题讨论】:

    标签: angular electron


    【解决方案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);
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      相关资源
      最近更新 更多