2018
02
26
21
58
[nodeJS] 從 nodejs 去呼叫 dll 檔裡的 API .
因為要安裝ffi, 所以需要先設好你的VC的變數,
"c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
而我的nodejs是64bits,因此要用64bits的變數.
然後執行
npm install ffi
npm install ref
安裝完成後,
就可以用以下的sample code去測試,看是不是成功.
成功應該就可以看到一個messagebox.
var ffi = require("ffi"); var ref = require("ref"); var user32 = ffi.Library("user32", { "MessageBoxA": ["int", ["uint32","pointer","pointer","uint32"]] }); var rt = user32.MessageBoxA(ref.NULL,ref.allocCString('hello world'),ref.allocCString('Title'),1); console.log(rt);
PS: 如果你想要在 electron 裡面用,
要另外重 build electron.
npm install --save-dev electron-rebuild
.\node_modules\.bin\electron-rebuild
Ref: electron/using-native-node-modules.md at master · electron/electron · GitHub