Win32環境では、GetLastInputInfo APIコールsee msdn docを使用できます。基本的に、このメソッドは、ユーザーが最後に入力を提供したときに対応する最後の目盛りを返します。そして、それを現在の目盛りと比較して、どれくらい前のものであるかを判断する必要があります。ユーザーが最後にキーを押した(またはマウスを移動した)ときをどのように知ることができますか?
Xavi23crは、C#の例として、codeprojectです。
他の環境についてのご意見はありますか?
Win32環境では、GetLastInputInfo APIコールsee msdn docを使用できます。基本的に、このメソッドは、ユーザーが最後に入力を提供したときに対応する最後の目盛りを返します。そして、それを現在の目盛りと比較して、どれくらい前のものであるかを判断する必要があります。ユーザーが最後にキーを押した(またはマウスを移動した)ときをどのように知ることができますか?
Xavi23crは、C#の例として、codeprojectです。
他の環境についてのご意見はありますか?
Linuxの場合、Pidginは一定の時間が経過した後、ステータスをアイドルに変更するアイドルタイムを判断する必要があることを知っています。ソースを開いて、必要な処理を行うコードが見つかるかどうかを確認することができます。
あなた自身の質問に答えているようですね。Nathan ;-) "GetLastInputInfo"は行く方法です。
アプリケーションがデスクトップで実行され、ユーザーが仮想マシンに接続すると、GetLastInputInfoはアクティビティを報告しません(ホストマシンにアクティビティがないため)。
これは、ユーザーの入力をどのように適用するかによって、必要な振る舞いと異なる場合があります。
彼はWindows以外の環境での提案を探しています。 – mnuzzo
[このブログの記事](http://ryanhomer.com/blog/2007/05/31/detecting-when-your-cocoa-application-is-idle/)には、Cocoaのさまざまなソリューションがあります。 –
私はwinapiタグを削除しました。すでにOPにwinapiの回答があり、winap以外のものの後ろにあると言います。 – Deanna