Electron如何调用.dll文件

简介: Electron如何调用.dll文件

调用.dll文件与调用.exe稍有类似 ,类似的是可以在主进程里调用,但是同时也可以在渲染进程中进行调用。同时调用.dll我们则需要用到electron的一个库 electron-edge-js .才可以进行。


为了规范,我们还是统一在主进程 main.js 中进行.dll调用。


假如,现在我们有个.dll程序已经编写好了,我们这时候需要调用它怎么办。


一定是先从DOM(渲染进程)发送通知到主进程(main.js)中,由主进程接收到后,我们再进行.dll的文件调用。


鉴于上章我们说了从主进程接收通知来调用.exe,大家已经知道了渲染进程跟主进程的通信及接收。那我们这次就说如何在渲染进程中调用.dll吧


以上述为例,我们看下代码:


我们首先是需要安装 : electron-edge-js


然后引入到项目中:

8fe9d61942944cb2bbeb277011c473c7.png

这时候我们根据官方示例,使用edge.func 来生成一个调用方法啊。

f0abbe4b937e485598fb220528d33596.png

上面代码中的 assemblyFile指的是你的 .dll 文件存放路径。(这里可能会存在路径找不到问题,需要绝对路径)


typeName的意思则是: 命名空间.对象名


methodName就很见名思意了:你这个对应.dll下的的方法名


这样的话我们就生成了一个调用.dll的执行方法。


下来我们就只需要调用即可。

093d976cbf0b45569bf162699b065b92.png

invoke3 这个方法第一个为要传递给.dll的入参,因为我们没有,所以不用传递,第二个则为一个函数,它返回两个值,第一个值为调用错误。第二个则为调用后的返回参数。


我们根据情况进行判断即可。



至于上面我们说有可能路径会出现报错问题。


大家可以这样解决,如果是在渲染进程中,大家的存放 .dll 的文件尽可能地放在项目的根目录,这样不管是开发环境还是编译环境我们都可以直接通过 ./ceshi/ceshi.dll 文件进行找到它。


如果是在main.js 主进程调用的话,这时候大家就需要注意了。需要判断开发环境与生产环境,分别来进行获取.dll 路径。


如:

2380e8baaf5c496cb69cc3af01e9ca7e.png

目录
相关文章
|
4月前
|
JavaScript Shell API
小笔记:Electron中关联格式、处理文件、创建链接的相关编程
小笔记:Electron中关联格式、处理文件、创建链接的相关编程
185 0
|
10月前
electron解决创建新窗口html文件不能引入ipcRenderer通信
electron解决创建新窗口html文件不能引入ipcRenderer通信
|
JavaScript Shell 程序员
Electron如何调用.exe文件并传递参数
Electron如何调用.exe文件并传递参数
1025 0
Electron如何调用.exe文件并传递参数
|
2月前
|
JavaScript 区块链
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
从零开始:如何用Electron将chatgpt-plus.top 打包成EXE文件
24 0
|
JavaScript Shell API
笔记:Electron中关联格式、处理文件、创建链接的相关编程
本文介绍关于在Electron中绑定文件格式、在菜单中打开、使用文件API、处理桌面链接等等。
203 0
|
存储 JSON 安全
electron如何自定义目录,修改文件名保存下载的网络文件
很多同学觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage无法做到,原因就是区别1。
electron如何自定义目录,修改文件名保存下载的网络文件
|
iOS开发 MacOS
使用 google_breakpad 分析 Electron 崩溃日志文件
本机(MacBook Pro)上 Electron 的路径:/usr/local/lib/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron
1192 1
使用 google_breakpad 分析 Electron 崩溃日志文件
|
1月前
|
JavaScript 开发工具
Electron 开发过程中主进程的无法看到 console.log 输出怎么办
Electron 开发过程中主进程的无法看到 console.log 输出怎么办
|
2月前
|
前端开发
PC端01,桌面端,electron的开发,electron的开发的系列课程,软件开发必备流程,electron的讲解,electron的开发,vitepress博主的gitee链接,PC端效率软件
PC端01,桌面端,electron的开发,electron的开发的系列课程,软件开发必备流程,electron的讲解,electron的开发,vitepress博主的gitee链接,PC端效率软件
PC端01,桌面端,electron的开发,electron的开发的系列课程,软件开发必备流程,electron的讲解,electron的开发,vitepress博主的gitee链接,PC端效率软件
|
4月前
|
移动开发 开发框架 JavaScript
Vue3 Vite electron 开发桌面程序
Vue3 Vite electron 开发桌面程序
295 0