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

目录
相关文章
|
JavaScript
Electron如何调用.dll文件
Electron如何调用.dll文件
794 0
Electron如何调用.dll文件
|
4月前
|
Python
Python 使用 pyinstaller 打包成 exe/app 文件,并支持传入外部参
Python 使用 pyinstaller 打包成 exe/app 文件,并支持传入外部参
48 0
|
5月前
|
JavaScript Windows
vue : 无法加载文件 C:\Program Files\nodejs\vue.ps1,因为在此系统上禁止运行脚本。...
vue : 无法加载文件 C:\Program Files\nodejs\vue.ps1,因为在此系统上禁止运行脚本。...
70 1
|
5月前
[√]lua加载dll
[√]lua加载dll
61 0
|
C#
C# 调用外部exe,且带参数
C# 调用外部exe,且带参数
708 0
|
编译器 API C++
python 外部传参程序编写并打包exe及其调用方式
每种编程语言相互联系又相互独立,为此使用某种编程语言编写的程序都能够独立封装和生成自己的运行程序exe或者其他的API接口。而对于这样的运行程序目的往往不是用于双击使其运行的,而是通过外部传入的参数运行其中的内核函数达到某种目的的。所以在此研究python如何编写外部传参的程序,并将其封装未exe便于外部使用。
596 0
python 外部传参程序编写并打包exe及其调用方式
|
Web App开发 JavaScript
JS - 调用本地 .exe 文件
JS - 调用本地 .exe 文件
854 0
JS - 调用本地 .exe 文件
|
编译器 C# 图形学
Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)
📢前言 🎬通过VC 生成DLL文件 🎥在VS中生成DLL文件 🏳️‍🌈第一步:新建一个dll项目 🏳️‍🌈第二步:新建一个`.h头文件`和`.cpp源文件` 🏳️‍🌈第三步:在`.h头文件`和`.cpp源文件`中编写代码 🏳️‍🌈第四步:生成dll和lib文件 🎥在VS中进行调用DLL文件 🚩第一步:先来新建一个项目 🚩第二步:复制firstDLLTest.dll和firstDLLTest.lib文件和上一个项目的头文件firstDLLTest.h 🚩第三步:在新项目里面添加C++代码 🚩第四步:添加头文件firstDLLTest.h和firstDLLTest.
Unity与 DLL文件 ☀️| 怎样使用VC++生成一个DLL文件并调用!(包括 在VS 中调用 和 在Unity中调用)
Qt-调用CAN开发包时,显示无法找到调用函数
说先,对下错误,免得看半天发现说的不是一个东西
256 0