一尘不染

在Windows上创建一个node.js本机扩展

node.js

我正在尝试从node.js应用程序中访问特定的本机Windows
API调用。我相信做到这一点的最佳方法是为node.js应用程序中可能需要的节点创建本机扩展/插件,并从JavaScript调用。

在哪里可以找到有关如何实际编译这种可执行文件的资源?我可以找到有关如何编写它的说明,但是所有构建说明似乎都适用于Linux。我可以在mingw上通过g
++进行编译,我不需要使用Visual Studio。另外,在哪里可以找到编译扩展名所需的头文件?


阅读 234

收藏
2020-07-07

共1个答案

一尘不染

我认为node-ffi将为您提供帮助。这很简单而且可行。

npm install ffi



var FFI = require('ffi');

function TEXT(text){
   return new Buffer(text, 'ucs2').toString('binary');
}

var user32 = new FFI.Library('user32', {
   'MessageBoxW': [
      'int32', [ 'int32', 'string', 'string', 'int32' ]
   ]
});

var OK_or_Cancel = user32.MessageBoxW(
   0, TEXT('I am Node.JS!'), TEXT('Hello, World!'), 1
);
2020-07-07