2016-08-01 3 views
5

Ich möchte einen Prozess im Hintergrund in NodeJS ausführen, die warten, bis der Computer für 10 Minuten nicht verwendet wird. Ich meine, der Benutzer berührt nicht die Tastatur oder die Maus.Wie überprüft man, wenn der Computer in NodeJS im Leerlauf ist?

Mit anderen Worten: Ich möchte Tastatur und Maus Ereignisse in einem beliebigen Fenster zu hören, und meine App benachrichtigen, wenn es passiert ist.

Für diese Mission kann ich einfache Knoten oder nw.js oder Elektronen verwenden.

Ich denke, dass ich ein C++, natives Modul und DLLs verwenden muss. Aber ich hoffe, es gibt eine bessere und einfachere Lösung.

Haben Sie?

+1

so ein bisschen wie ein Keylogger, nur nicht wirklich die Schlüssel aufzeichnen? –

+0

Gute Idee zu suchen. Keylogger + Maus Logger – Aminadav

+0

hmm ... weiß nicht, wie gut von einer Idee wäre es, auf irgendetwas im Zusammenhang mit Keyloggern –

Antwort

0

ich in der Lage war, die Benutzerleerlaufzeit auf OSX zu bekommen mit ioregfrom this previous answer.

var child_process = require('child_process'); 

function idleTime(callback) { 
    var command = `ioreg -c IOHIDSystem | awk '/HIDIdleTime/ {print $NF/1000000000; exit}'`; 
    child_process.exec(command, function(err, stdout, stderr) { 
     return err ? callback(err) : callback(null, stdout.trim()); 
    }); 
} 

setInterval(function() { 
    idleTime(function(err, duration) { 
     console.log(`idle for ${Math.round(duration)} seconds`) 
    }) 
}, 1000); 
Verwandte Themen