web-dev-qa-db-ja.com

Node.jsでウィンドウのスクリーンショットを撮るにはどうすればよいですか?

私は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

[〜#〜]編集済み[〜#〜]

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;

今、私はNodeJでこれを行う必要があります、

誰でも手伝ってくれる?

" desktop-screenshot "というNPMパッケージを使用できます。使い方はとても簡単です。

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

4
Matheus Salmi