0
点赞
收藏
分享

微信扫一扫

在网页中调用com组件 dll动态库方案

皮皮球场 2022-04-16 阅读 50

在网页中调用com组件/dll动态库方案

在web项目中使用api的方式调用com组件/dll动态库,以vue项目为例使用http或socket调用com组件/dll动态库


实现

实现方案就是使用electron编写一个pc的安装包,在electron里去调用com组件/dll动态库,web项目调用安装包提供的接口实现

  1. 新建electron项目
  1. 安装winax
npm i winax

electron的项目和纯node项目使用不同,这里需要使用V8引擎重构winax

  1. 安装electron-rebuild(已安装可跳过此步骤
npm i electron-rebuild --save-dev
  1. 重构winax
electron-rebuild -f -w winax
  1. 使用(以访问数据库为例)
require('winax');
// 创建ADO连接
var con = new ActiveXObject('ADODB.Connection');
// 打开连接并创建表
con.Open('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\tmp;Extended Properties="DBASE IV;"', '', '');
con.Execute("Create Table persons.dbf (Name char(50), City char(50), Phone char(20), Zip decimal(5))");
con.Execute("Insert into persons.dbf Values('John', 'London','123-45-67','14589')");
con.Execute("Insert into persons.dbf Values('Andrew', 'Paris','333-44-55','38215')");
con.Execute("Insert into persons.dbf Values('Romeo', 'Rom','222-33-44','54323')");
// 查询并返回结果
var rs = con.Execute("Select * from persons.dbf"); 
var reccnt = rs.RecordCount;

最后贴出测试通过的node以及electron版本

  • node v14.0.0
  • Visual Studio 2017

electron-builder打包问题

  1. 下载winCodeSign失败可去github下载对于包并解压到C:\Users\用户\AppData\Local\electron-builder\Cache\winCodeSign下
  2. 下载nsis失败可去github下载对于包并解压到C:\Users\用户\AppData\Local\electron-builder\Cache\nsis下
举报

相关推荐

0 条评论