
记录一下常见的动态连错误;
// 正确示例
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')
}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')
}函数查看器进行查看// 正确示例
const User32 = ffi.Library('user32.dll', {
GetTopWindow: ['long', ['long']],
GetWindowThreadProcessId: ['int', ['long', 'int']],
GetForegroundWindow: ['long', []],
IsHungAppWindow: ['bool', ['long']]
})