これを使用すれば、ユーザーが退席している間に何らかの処理を行ったり、作業状況のログを記録したりするツールを作成できます。
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 件のコメント:
コメントを投稿