javascript - 从 node.js 消息调用 Windows API

标签 javascript node.js winapi

我是 Node 的新手,我有一个在 Windows 上运行的简单 Node.js 服务器

服务器代码

var ws = require("websocket-server");

var server = ws.createServer();

server.addListener("connection", function(client){
    console.log("new connection");
    client.send("aaaaaa");
    client.addListener("message", function(msg){
        console.log(msg);
    });
});

server.listen(8080);

我只想直接调用 Windows API

console.log(msg);

有没有办法不使用外部库就可以做到这一点

有什么想法吗?

最佳答案

我认为node-ffi可以帮助您做到这一点。 node-ffi 提供加载和调用动态库的功能。使用 node-ffi,您可以访问 user32(例如)库并从 node.js 调用它们的函数。

var FFI = require('node-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
);

关于javascript - 从 node.js 消息调用 Windows API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775201/

相关文章:

c - 如何将整数转换为 LARGE_INTEGER

javascript - 在 JavaScript 中添加带有参数的 onclick 事件

javascript - 为什么页面在javascript:window.open之后使用 “[Object]”空白?

javascript - 正则表达式 - 允许使用字母、撇号、句点、逗号和连字符

node.js - 带有 React 和 Express 的套接字 IO。 ReactJS 错误 : Could not proxy request/socket. io/?EIO=4..... 来自本地主机 :3000 to http://127. 0.0.1:4000

c++ - 这个从 long in a union 到 char* 和 back 的转换是做什么的?

javascript - Summernote 仅在刷新时才有效

javascript - 如何通过 ID 从 JSON 对象数组中删除数组元素

node.js - 我可以用 libuv 做自定义事件吗?

c++ - 我对吗 &str[0] 指向 len + 1 大小的缓冲区,包括空终止字符