先安装python2.7
安装node-gyp
cnpm install node-gyp -g
新建一个Electron-vue项目(案例用Electron-vue)
vue init simulatedgreg/electron-vue my-project
安装electron-rebuild
cnpm install --save-dev electron-rebuild
安装ffi
cnpm install ffi --save
在主进程中导入ffi
const ffi=require("ffi");
然后npm run dev试运行下,一般都会报如下错误
打开终端运行如下代码编译一下原生代码模块
.\node_modules\.bin\electron-rebuild.cmd
上面这句执行完后会提示Rebuild Complete。
然后再npm run dev运行,如果可以运行,说明我们的ffi模块没问题了。
调用我们的dll
var libpath = path.join(__dirname, '/termb.dll');
//连接dll中的方法,InitComm为dll中的方法名,['int',['int']]第一个int是入参类型,最后一个int所在的数组放的是出参的类型
var testLib = ffi.Library(libpath, {
InitComm:['int',['int']]
});
//调用
const dllRet = testLib.InitComm(1001);
console.log('ret => '+dllRet);
注意:dll如果是32 bit,那么node也要32位