本文主要介绍在 Electron13.x 中,使用ffi-napi,ref-array-napi,ref-napi 加载 Windows 动态链接库,并在Vue 渲染进程中使用。
这里列出所使用的环境:
- Visual Studio 2017
- NodeJS v14.16.1(x64)
- node-gyp v9.1.0
- Python 3.8.6
- Electron :13.0.0
- @vue/cli : 4.5.0
- vue-cli-plugin-electron-builder : 2.1.1
- ffi-napi : 4.0.3
- ref-napi : 3.0.3
- ref-array-napi : 1.2.2
- ref-struct-napi : 1.1.1
1. 先自己开发一个DLL文件备用
DLL中,分别开发了三种情况的C函数:
- A. 参数为基本数据类型
- B. 参数为指针
- C. 参数为指向数组的指针
A比较简单,而B和C 涉及到 参数为指针的情况,函数内部可以修改指针指向的内存,函数运行完毕之后,外部内存中的值将会被修改。相当于输出参数,使用JS调用的时候涉及到内存共享问题。
使用 Visual Studio 2017开发DLL步骤如下:
1.1 新建项目