2016-08-01 35 views
5

我想在NodeJS的後臺運行進程,等待計算機不使用10分鐘。我的意思是用戶不要觸摸鍵盤或鼠標。如何檢查計算機在NodeJS中閒置的時間?

換句話說:我想聽任何窗口中的鍵盤和鼠標事件,並在發生事件時通知我的應用程序。

對於這個任務,我可以使用普通節點,或nw.js或電子。

我認爲我必須使用C++,本機模塊和DLL。但我希望有一個更好和簡單的解決方案。

你有嗎?

+1

有點像鍵盤記錄,只是沒有實際記錄密鑰? –

+0

好主意來搜索。鍵盤記錄器+鼠標記錄器 – Aminadav

+0

嗯......不知道這是一個好主意,它將是點擊任何與鍵盤記錄器相關的東西 –

回答

0

我能夠使用ioregfrom 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); 
相關問題