Objective-c / cocoaには、ユーザーが自分のコンピューターの前にいるかどうかを追跡するためのきちんとした/簡単な方法がありますか?つまり、キーの押下とマウスの動きを検出することによって推測しますか?
(つまり、私が仕事をしているときと仕事をしていないときを検出して、タイムシートに自動的に記入したい)
Objective-c / cocoaには、ユーザーが自分のコンピューターの前にいるかどうかを追跡するためのきちんとした/簡単な方法がありますか?つまり、キーの押下とマウスの動きを検出することによって推測しますか?
(つまり、私が仕事をしているときと仕事をしていないときを検出して、タイムシートに自動的に記入したい)
イベントタップを使用して、ログインセッション全体でマウスイベントを検出できます。
重要なイベントに対してもこれを行う方法があると確信していますが、それが何であったかは覚えておらず、ユーザーが支援デバイスをオンにするためのアクセス権を持っている必要があります。キーロガーの作成者にとってMacOSXを魅力のないものにするために、セッション全体でキーイベントをキャッチすることは意図的に困難です。
また、NSWorkspaceの通知を使用して、マシンがスリープ状態になりそうなときと、スリープから復帰したばかりのときを検出する必要があります。
Mac OS X 10.6でのイベントタップとグローバルアクティビティの処理の詳細については、こちらをご覧ください: マウス追跡デーモン