Electron——常见动态链错误

简介: Electron——常见动态链错误

前言

记录一下常见的动态连错误;

内容

Uncaught Error: Dynamic Linking Error: Win32 error 126

  • DLL引用的路径错误,检查下DLL的路径是否正确
// 正确示例
let DllA = path.resolve(__dirname, '../../../xxx/xxxx.dll')
// 生产环境
if (process.env.NODE_ENV !== 'development') {
  DllA = path.resolve(__dirname, '../../../../xxx/xxx' + arch + '.dll')
  DllB = path.resolve(__dirname, '../../../../xxx/xxxx.dll')
}

Uncaught Error: Dynamic Linking Error: Win32 error 193

  • DLL位数不对,根据系统来确定使用x86还是x64,可通过os进行判断引入相应的DLL
// 正确示例
const arch = os.arch() === 'x64' ? 'x64' : 'x86'
let DllA = path.resolve(__dirname, '../../../xxx/xxx' + arch + '.dll')
if (process.env.NODE_ENV !== 'development') {
  DllA = path.resolve(__dirname, '../../../../xxx/xxx' + arch + '.dll')
}

Uncaught Error: Dynamic Linking Error: Win32 error 127

  • DLL没有对应的函数或函数定义错误,可以使用函数查看器进行查看
  • DLL错误,比如系统的一些DLL可以直接进行引用或者还需要引用其他的DLL文件(如: 引入A,但是A需要引入B)
    函数查看器下载地址
// 正确示例
const User32 = ffi.Library('user32.dll', {
  GetTopWindow: ['long', ['long']],
  GetWindowThreadProcessId: ['int', ['long', 'int']],
  GetForegroundWindow: ['long', []],
  IsHungAppWindow: ['bool', ['long']]
})

学无止境,谦卑而行.

目录
相关文章
|
24天前
|
前端开发 开发者 UED
你真的了解 Electron 的自动更新吗?揭秘AppUpdater 类的内部工作原理
本文由前端徐徐首发,深入探讨了 Electron 的自动更新工作原理,特别是 `electron-builder` 中 `AppUpdater` 类的源码分析,涵盖配置更新源、检查更新、下载更新、安装更新及事件通知等核心功能,帮助开发者更好地理解和使用 Electron 的自动更新机制。
52 0
你真的了解 Electron 的自动更新吗?揭秘AppUpdater 类的内部工作原理
|
17天前
|
JavaScript 前端开发 API
《vue3第六章》其他,包含:全局API的转移、其他改变
《vue3第六章》其他,包含:全局API的转移、其他改变
20 0
|
3月前
|
JSON 前端开发 API
构建前端防腐策略问题之更新getMemoryUsagePercent函数以适应新的API返回格式的问题如何解决
构建前端防腐策略问题之更新getMemoryUsagePercent函数以适应新的API返回格式的问题如何解决
构建前端防腐策略问题之更新getMemoryUsagePercent函数以适应新的API返回格式的问题如何解决
|
3月前
|
开发工具 Android开发
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
37 0
|
5月前
|
安全 前端开发 测试技术
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
|
6月前
|
开发工具 C++
WebAssembly01-- 暴露接口 避免编译时优化
WebAssembly01-- 暴露接口 避免编译时优化
55 0
|
安全 区块链
TRX链/BSC链/ARB链/Matic马蹄链公链智能合约系统开发指南需求丨步骤逻辑丨规则方案丨案例开发丨项目程序丨源码说明
Chain selection and environment construction: Select suitable public chains as development environments, such as TRX chains, BSC chains, ARB chains, or Matic horseshoe chains. Establish a corresponding development environment, including node deployment, development tools, and testing network.
|
JSON 安全 API
Appscan扫出API成批分配问题解决方案
Appscan扫出API成批分配问题解决方案
1997 0
|
开发框架 中间件 .NET
go-micro集成链路跟踪的方法和中间件原理
go-micro集成链路跟踪的方法和中间件原理
139 0
|
中间件
go-micro集成链路跟踪的方法和中间件原理2
go-micro集成链路跟踪的方法和中间件原理2
91 0