当前位置: 首页 > 面试题库 >

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

谢俊悟
2023-03-14
问题内容

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

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


问题答案:

我认为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
);


 类似资料:
  • 问题内容: 现在我用 但这有点棘手。是否有“标准”方法在Node.js中创建空文件? 问题答案: 如果要强制文件为空,则要改用标志: 如果文件存在,它将截断文件,如果文件不存在,则将创建文件。 如果不需要返回的文件描述符,则将其包装在调用中。

  • 主要内容:创建 Node.js 应用,Gif 实例演示如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求就不需要 PHP 来处理。 不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们

  • 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi。 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理。 不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们的 W

  • 问题内容: 如何在Windows和Linux计算机上使用Java代码创建文件夹? 问题答案: 如果要创建嵌套文件夹(即路径中可能缺少多个文件夹),请使用。请参阅。 请注意,在Windows上通常不能使用正斜杠,但是Java会规范化路径并将正斜杠转换为反斜杠。

  • 问题内容: 最近,我读了一些新闻报道,指出微软正在与Docker合作使Docker在Windows Server上本地运行。 我想问的是,这将允许Windows应用程序在docker容器中运行,还是这是一种运行已经可用的docker映像库(在其中运行linux派生的特定子集)的一种方法Windows不使用VM? 问题答案: 这是关于在Windows主机中运行Windows容器。 Linux的容器仍

  • 问题内容: 我正在使用官方elasticsearch npm。在我的节点应用程序中,我正在使用该客户端创建索引,如下所示 我需要为上述索引放入映射,因此,我必须先创建一个空索引(无数据索引),然后必须执行放置映射,然后将数据放入索引。 因此,我必须创建一个空索引,但是在正式的Elasticsearch客户端中,上述方法(create)是用“ ”方法编写的,因此它需要一个主体。 为此,我必须如上所述