ユーザーが最後にキーを押した (またはマウスを動かした) のがいつであるかをどのようにして知ることができるでしょうか?
-
08-06-2019 - |
質問
Win32 環境では、GetLastInputInfo API 呼び出しを使用できます。 Microsoft のドキュメント. 。基本的に、このメソッドは、ユーザーが最後に入力を行ったときに対応する最後のティックを返します。それがどれくらい前であるかを判断するには、それを現在のティックと比較する必要があります。
Xavi23cr には C# の良い例があります。 コードプロジェクト.
他の環境に関する提案はありますか?
正しい解決策はありません
他のヒント
Linux に関しては、一定時間が経過した後にステータスを退席中に変更するには、Pidgin がアイドル時間を決定する必要があることを私は知っています。ソースを開いて、必要なことを実行するコードが見つかるかどうかを確認してください。
あなたはそこにあなた自身の質問に答えたようです。
トリックの 1 つは、アプリケーションがデスクトップ上で実行されており、ユーザーが仮想マシンに接続している場合、GetLastInputInfo はアクティビティを報告しないことです (ホスト マシン上にアクティビティがないため)。
これは、ユーザー入力をどのように適用するかによって、希望する動作とは異なる場合があります。
所属していません StackOverflow