我尝试根据stackoverflow和node-ffi documentation上的示例加载本地.dll。但我得到错误ENOENT:没有这样的文件或目录,打开'../test/user32.dll.so‘。文件就在那里(没有例外)。扩展名'.so‘是自动添加的。知道我做错了什么吗?这个代码平台是依赖的吗?我在用Debian。
const path = require('path');
const fs = require('fs');
const ffi = require('ffi');
function setCursor() {
const dllFile = path.join('../test', 'user32.dll');
if (!fs.existsSync(dllFile)) {
throw (new Error('dll does not exist'));
}
const user32 = ffi.Library(dllFile, {
"SetCursorPos": [
"bool", ["int32", "int32"]
]
});
console.log(user32.SetCursorPos(0, 0));
}
setCursor();发布于 2021-06-29 23:38:27
看起来path不能将../test识别为父文件夹。我觉得path.join(__dirname, '..', 'test', 'user32.dll');应该带你去对的地方。
https://stackoverflow.com/questions/63396020
复制相似问题