我想在NodeJS的後臺運行進程,等待計算機不使用10分鐘。我的意思是用戶不要觸摸鍵盤或鼠標。如何檢查計算機在NodeJS中閒置的時間?
換句話說:我想聽任何窗口中的鍵盤和鼠標事件,並在發生事件時通知我的應用程序。
對於這個任務,我可以使用普通節點,或nw.js或電子。
我認爲我必須使用C++,本機模塊和DLL。但我希望有一個更好和簡單的解決方案。
你有嗎?
我想在NodeJS的後臺運行進程,等待計算機不使用10分鐘。我的意思是用戶不要觸摸鍵盤或鼠標。如何檢查計算機在NodeJS中閒置的時間?
換句話說:我想聽任何窗口中的鍵盤和鼠標事件,並在發生事件時通知我的應用程序。
對於這個任務,我可以使用普通節點,或nw.js或電子。
我認爲我必須使用C++,本機模塊和DLL。但我希望有一個更好和簡單的解決方案。
你有嗎?
我能夠使用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);
您可以嘗試https://github.com/bithavoc/node-desktop-idle,它適用於Linux,OSX和Windows。我爲Electron構建它,但它通常在Node.js中工作。
有點像鍵盤記錄,只是沒有實際記錄密鑰? –
好主意來搜索。鍵盤記錄器+鼠標記錄器 – Aminadav
嗯......不知道這是一個好主意,它將是點擊任何與鍵盤記錄器相關的東西 –