我想在NodeJS的后台运行一个进程,等待计算机不使用10分钟。我的意思是用户不要触摸键盘或鼠标。
换句话说:我想在任何窗口中收听键盘和鼠标事件,并在发生时通知我的应用。
对于这个任务,我能够使用普通节点,或nw.js或电子。
我认为我必须使用C ++,本机模块和DLL。但我希望有一个更好,更简单的解决方案。
你有吗?答案 0 :(得分:1)
答案 1 :(得分:1)
我以某种方式到达这里搜索电子中的同一事物,如果您也继续前进,这就是我从Electron Power monitor API's中找出来的方式
const {powerMonitor} = require('electron');
const idle = powerMonitor.getSystemIdleTime() // it returns in seconds when I am writing this
console.log('Current System Idle Time - ', idle);
答案 2 :(得分:0)
我可以使用ioreg
from this previous answer在OSX上获取用户的空闲时间。
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);
答案 3 :(得分:0)
您可以尝试使用适用于Linux,OSX和Windows的https://github.com/bithavoc/node-desktop-idle。我为Electron构建了它,但它通常在Node.js中工作。