Electron如何调用.dll文件

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

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

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

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

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

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

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

然后引入到项目中:

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

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

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

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

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

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

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

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

 

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

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

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

如:

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵小左

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值