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']]
})

学无止境,谦卑而行.

目录
相关文章
|
7月前
|
移动开发 安全 数据安全/隐私保护
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
iOS 全局自动化代码混淆工具!支持 cocoapod 组件代码一并混淆
|
2月前
|
JavaScript 前端开发 API
《vue3第六章》其他,包含:全局API的转移、其他改变
《vue3第六章》其他,包含:全局API的转移、其他改变
23 0
|
4月前
|
开发工具 Android开发
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
44 0
|
4月前
|
存储 缓存 JavaScript
Electron V8排查问题之V8FatalErrorCallback崩溃问题的定义如何解决
Electron V8排查问题之V8FatalErrorCallback崩溃问题的定义如何解决
49 0
|
6月前
|
安全 前端开发 测试技术
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
安全开发-PHP应用&模版引用&Smarty渲染&MVC模型&数据联动&RCE安全&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
|
7月前
|
开发工具 C++
WebAssembly01-- 暴露接口 避免编译时优化
WebAssembly01-- 暴露接口 避免编译时优化
59 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成批分配问题解决方案
2131 0
|
缓存 小程序 API
小程序:浅谈小程序更新机制,发版后多久能全覆盖
小程序:浅谈小程序更新机制,发版后多久能全覆盖
446 0
|
前端开发 JavaScript CDN
webpack优化篇(四十五):进一步分包:预编译资源模块
webpack优化篇(四十五):进一步分包:预编译资源模块
216 0
webpack优化篇(四十五):进一步分包:预编译资源模块