これを使用すれば、ユーザーが退席している間に何らかの処理を行ったり、作業状況のログを記録したりするツールを作成できます。
InputIdleクラスの基本的な使い方は、以下のようになります。
Main.createNotifyIcon();
var mon=new (require('SystemMonitor').InputIdle)();
Thread.create(function(){
var idle;
while(true){
if(mon.get(true)<5000){ //規定時間
if(idle){
idle=false;
//↓一定時間以上振りに操作を行ったときに実行される処理
println("wake");
}
}else if(!idle){
idle=true;
//↓一定時間操作がなかったときに実行される処理
println("idle");
}
sleep(100);//監視間隔
}
});
無操作時間を取得するには、InputIdleオブジェクトのget()メソッドを呼び出します。
引数がtrueの場合は、プログラムによって生成された操作を除き、実際にユーザーが行った操作のみを考慮した無操作時間が取得されます。
idle変数は、既に無操作時間が規定値を超えているかどうかのフラグです。
最初に無操作時間が規定値を超えた時にtrueにし、無操作時間が規定値以下の時にtrueになっていたらfalseにすることで、一定時間以上の放置と放置からの復帰を検出しています。
上記の例でprintln()関数を呼び出している部分に、放置や復帰を検出したときの処理を記述します。
0 件のコメント:
コメントを投稿