第一步建立一个DLL

int WINAPI CAM_Open(char *pIn, char* pOut);

第二步安装ffi

npm install --save ffi

针对electron版本重新编译

cd node_modules\ffi

node-gyp rebuild -target=1.6.11 -arch=x64 -dist-url=https://atom.io/download/atom-shell

cd node_modules\ref

node-gyp rebuild -target=1.6.11 -arch=x64 -dist-url=https://atom.io/download/atom-shell

第三步修改electron应用的index.html

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>人脸识别测试程序</title>
</head>
<body>
<button id="CAMOpen" name="CAMOpen">调用人脸识别DLL</button>
</body>
<script>//var addon = require("facerecognitiondll")//document.write(addon.CAMOpen())var ffi = require("ffi")var DLL = ffi.Library('FaceRecognition.dll', {'CAM_Open' : ['int', ['string', 'string']]});var result = DLL.CAM_Open("", "");document.write("CAM_Open return "+ result)</script>
</html>

Electron通过ffi调用DLL相关推荐

  1. NodeJS通过ffi调用DLL

    第一步建立一个dll, 提供方法如下 int WINAPI CAM_Open(char *pIn, char* pOut); 第二步安装ffi (前提已安装python2.x环境) npm insta ...

  2. dll找不到dll electron_如何在Electron中调用Dll

    如何在Electron中调用Dll 客户端有些硬件的接口需要调试,是在电脑上连了一些硬件的设备,比如打印机.扫描仪或者进行串口通信等等.单靠JS是完成不了了,我们决定通过把C++或者C#把这些功能打包 ...

  3. nodejs安装ffi模块调用dll详解

    网上很多关于nodejs安装ffi的模块讲的条理实在太不清晰了,nodejs使用的VC++运行库对于不同的nodejs版本是不一致的.nodejs10需要的vs版本是vs2015. 1 安装vs201 ...

  4. Electron9.x_Vue_调用DLL库

    本文主要介绍在 Electron9.x 中,使用ffi-napi,ref-array-napi,ref-napi 加载 Windows 动态链接库,并在Vue 渲染进程中使用.使用过程中会遇到一系列的 ...

  5. electron调用python_Electron中使用Node-ffi调用DLL

    相关网址 版本对比表Electron版本 NODE_MODULE_VERSION Node版本 v3.1.13 64 v10.2.0 v4.2.11 69 v10.11.0 v5.0.11 70 v1 ...

  6. Electron使用NodeJS扩展模块调用DLL

    在windows平台,用vs2015开发一个最简单的dll. 由于安装的electron是64位的,所以需要配置编译生成64位的DLL. 把生成的FaceRecognition.dll拷贝到elect ...

  7. vue 调用c++_electron-vue跨平台桌面应用开发实战教程(七)——ffi调用C++(macOS平台)...

    electron功能很强大,但是有一些跟操作系统底层交互的功能,electron无法实现,这个时候我们就可以调用原生来配合完成对应功能,本文主要讲解在macOS平台下,调用C++的dylib文件 在开 ...

  8. Node.js 调用 dll动态库 以华旭身份证阅读器为例

    需求来源 由于使用Electron使用开发桌面端,同时也需要连接硬件设备,单纯使用js方法无法完成,需要通过Node调用dll动态库方式完成. 版本说明: node v12.18.3 (32位) np ...

  9. flutter/dart通过ffi调用rust代码

    ffi简介 FFI(Foreign Function Interface)是用来与其它语言交互的接口,在有些语言里面称为语言绑定(language bindings),Java 里面一般称为 JNI( ...

最新文章

  1. 暑期集训5:并查集 线段树 练习题B: HDU - 1213 ​​​​​​​
  2. python修改nginx配置文件_zookeeper 动态管理nginx配置
  3. Linux 学习手记(6): 磁盘、分区、MBR与GPT
  4. bzoj2059[Usaco2010 Nov]Buying Feed 购买饲料*
  5. ramdisk plus v11.5安装内存虚拟硬盘
  6. java 适用参数_Java功能的适用性
  7. 美团DSP广告策略实践
  8. 从安全到镜像流水线,Docker 最佳实践与反模式一览
  9. hadoop和spark相关参数的配置
  10. java高并发之线程池
  11. java 调用ejb_一步一步教你远程调用EJB
  12. postgres整库导入导出
  13. Datagrip连接mysql错误[08S01]解决办法
  14. 辛普森复合求积公式matlab,MATLAB数值分析实验二(复合梯形、辛普森和龙贝格求积,以及二重积分计算等).doc...
  15. vue + gifshot 实现GIF动图
  16. 高性能v100 gpu服务器,TESLA V100 GPU 加速性能指南
  17. 存储管理——内存扩充技术
  18. 数据库课程设计矿大_管理信息系统课程设计样本.pdf
  19. elasticsearch部署过程中各种报错解析
  20. [leetcode] online judge题目汇总

热门文章

  1. 使用Custom.pll修改标准Form的LOV
  2. 2020CCPC(威海) - Labyrinth(bfs+思维)
  3. HDU - 1754 I Hate It(Splay-区间最大值)
  4. POJ - 1966 Cable TV Network(最小割-最大流)
  5. python学全栈还是运维_Python全栈学习——Python基础及Web开发
  6. 安卓进阶系列-07数据库框架(GreenDAO)的使用
  7. 浪潮服务器更换硬盘_总金额2.5亿!浪潮信息助力中国移动部署NFV项目
  8. 关于C++,Java和Python中的随机数生成法
  9. LevelDB 源码剖析(九)DBImpl模块:Open、Get、Put、Delete、Write
  10. tomcat 启动异常 The web application [ROOT] registered the JDBC driver [xxx] but failed to unregister it