How to capture desktop screen of computer host where it's running on using node.js

user12cdhbw7 picture user12cdhbw7 · Dec 14, 2013 · Viewed 9.6k times · Source

Is there such a way to capture desktop with node.js not a browser tab?

I have searched a lot but I didn't find any.

What I want is to use node.js to build desktop application.

Answer

vodolaz095 picture vodolaz095 · Dec 15, 2013

You can use

http://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback

and

https://en.wikipedia.org/wiki/Scrot

to make screenshot of screen of current user running nodejs application. Something like this (it is complete expressJS example):

var express = require('express'),
  childProcess = require('child_process'),
  app = express();

app.get('/screenshot.png', function(request,response){
  childProcess.exec('scrot screenshot.png', function(err){
    if(err1) {
      response.send(503,'Error creating image!');
    } else {
       response.sendfile('screenshot.png')
    }
  });
});
app.listen(3000);

But this is quite slow approach.