如何在 Node.js 中截取窗口屏幕截图?

2023-12-30

我正在研究寻找一种使用 Node.js 截取窗口屏幕截图的方法,并且我正在尝试使用 node-ffi 来做到这一点,但我不知道如何......一次我'我被困在这里:

var ffi = require('ffi');

var user32 = new ffi.Library("user32", {
      FindWindowA: [ 'uint32' , [ 'string', 'string' ]]
    , PrintWindow: [ 'int32'  , [ 'int32', 'string', 'int32' ]]
});

var IMG;
var windowHandle = user32.FindWindowA(null, "Calculator");
var printWin = user32.PrintWindow(windowHandle, IMG, 0);

console.log(printWin);
console.log(IMG);

结果:

$ node get-print.js
1
undefined

EDITED

我在 C++ 中找到了以下工作代码

Bitmap bm = new Bitmap(1024, 768);
Graphics g = Graphics.FromImage(bm);
IntPtr hdc = g.GetHdc();
Form1.PrintWindow(this.Handle, hdc, 0);
g.ReleaseHdc(hdc);
g.Flush();
g.Dispose();
this.pictureBox1.Image = bm;

现在我需要在 NodeJs 上执行此操作,

有人可以帮助我吗?


您可以使用名为“的 NPM 包”桌面截图 https://www.npmjs.com/package/desktop-screenshot”。使用起来非常简单。

NPM 上的示例:

var screenshot = require('desktop-screenshot');

screenshot("screenshot.png", function(error, complete) {
    if(error)
        console.log("Screenshot failed", error);
    else
        console.log("Screenshot succeeded");
});

https://www.npmjs.com/package/desktop-screenshot https://www.npmjs.com/package/desktop-screenshot

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Node.js 中截取窗口屏幕截图? 的相关文章

随机推荐