Electron如何调用.exe文件并传递参数

简介: Electron如何调用.exe文件并传递参数

在实际的electron项目开发过程中,为了快读开发,有一些第三方软件例如:截图软件直接调用了现成的软件。那么electron如何调用.exe并传递相应参数呢?在网上找了一堆说的都是下载什么包,做什么操作,云里雾里。这里我就给大家说一下怎么去操作这个。


1. 使用 child_process 插件


child_process 是node的一个重要模块,熟悉shell脚本的同学,可以用它来完成很多有意思的事情,比如文件压缩、增量部署等,nodejs创建子进程有四种方法,分别是spawn、fork、exec、execFile。


而我们本次则使用的是它的第三种办法:exec


2. child_process.exec 创建一个shell,然后在shell里执行命令。执行完成后,将stdout、stderr作为参数传入回调方法。


例子如下:


执行成功,error为null;执行失败,error为Error实例。error.code为错误码,

stdout、stderr为标准输出、标准错误。默认是字符串,除非options.encoding为buffer

首先,我们需要在electron项目的主进程,main.js中引入这个模块

677186b020194c469c423e88c1ba09a9.png

然后它的使用也必须是在主进程中进行,因为electron的主进程是支持node操作的。

39e86255cfba4e9fbb493801f9adf108.png

 如上代码,我们从渲染进程给主进程发送指令,并携带了一些参数,如上:ip,端口,电话号码,密码等参数。


当主进程接收到后,调用openScreenshot 方法打开 ScreenCapture.exe 软件并将参数传递进去

a02e16ce08a5426494803dcce90c1a4b.png


如上代码,我 们获取到了 存放ScreenCapture.exe的文件目录及地址,并设置参数。

然后使用.replace 进行替换,获取到了 ScreenCapture.exe 文件的path。

最后使用 exec 方法进行调用即可。


0317f5123e0941959a7850cadf3d1d5a.png


在使用exec的时候一定要注意,cwd 指的是当前.exe存放目录,一定要配置正确,否则可能软件能调通,但是工作环境会出现一些问题,导致.exe软件内部出现一些问题。


至于为什么.exe软件后面要跟参数,这个是需要大家去跟客户端程序员去对接的,看需不需要跟参数,每个参数都是什么,一定要记住,顺序是以客户端程序员排列的顺序为主。这样他那拿到的就是一个对象。

目录
相关文章
|
6月前
|
JavaScript Shell API
小笔记:Electron中关联格式、处理文件、创建链接的相关编程
小笔记:Electron中关联格式、处理文件、创建链接的相关编程
264 0
electron解决创建新窗口html文件不能引入ipcRenderer通信
electron解决创建新窗口html文件不能引入ipcRenderer通信
|
JavaScript
Electron如何调用.dll文件
Electron如何调用.dll文件
1050 0
Electron如何调用.dll文件
|
4月前
|
JavaScript 区块链
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
52 0
electron打包的exe程序,点击安装却执行了卸载的问题
在window平台下 electron打包的exe安装后,在没卸载的情况下,重新点击exe安装,会执行卸载,再点一次才是安装; 针对这个问题,我注释了打包里的一个配置,就好了,如下
387 0
|
JavaScript Shell API
笔记:Electron中关联格式、处理文件、创建链接的相关编程
本文介绍关于在Electron中绑定文件格式、在菜单中打开、使用文件API、处理桌面链接等等。
267 0
|
存储 JSON 安全
electron如何自定义目录,修改文件名保存下载的网络文件
很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage无法做到,原因就是区别1。
electron如何自定义目录,修改文件名保存下载的网络文件
|
移动开发 JavaScript 前端开发
【浏览器&exe桌面应用】用nw.js &Electron -HTML和JavaScript制作exe桌面程序-打造浏览器,查询机客户端,大屏展示客户端
【浏览器&exe桌面应用】用nw.js &Electron -HTML和JavaScript制作exe桌面程序-打造浏览器,查询机客户端,大屏展示客户端
177 0
|
iOS开发 MacOS
使用 google_breakpad 分析 Electron 崩溃日志文件
本机(MacBook Pro)上 Electron 的路径:/usr/local/lib/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron
1225 1
使用 google_breakpad 分析 Electron 崩溃日志文件
|
资源调度 前端开发 JavaScript
Electron搭配React的history路由模式打包exe客户端
Electron安装 安装问题 npm或者yarn安装electron就算是配置了淘宝源还是会出现超时。所以我的解决方案是安装cnpm,使用cnpm去安装。 全局安装cnpm npm i cnpm -G 复制代码 新建项目 cnpm init // 一路Enter然后到最后一步输入yes
656 0