ffi库是npm提供的操作windows系统库函数的依赖库,安装过程会比较麻烦,需要编译,可能需要npm全局安装windows-build-tools,如何安装,可以参照这里。
这篇博客内容,都是参照stackoverflow上的这篇文章得来,提问者提出问题,有回答者给出了解决方案,我也按照回答者思路做了一些尝试,得到本例代码。验证了回答者的答案,同时也学到了关于指针相关知识。
运行本次示例,需要安装ffi,ref,ref-struct等依赖。
npm install ffi ref ref-struct --save
这里根据user32提供的FindWindowW,GetWindowRect方法来获取桌面程序窗口大小,代码如下:
getwindowrect.js
var ffi = require('ffi');
var ref = require('ref');
var Struct = require('ref-struct');
var lpctstr = {
name: 'lpctstr',
indirection: 1,
size: ref.sizeof.pointer,
get: function(buffer, offs