ユーザーが最後にキーを押した (またはマウスを動かした) のがいつであるかをどのようにして知ることができるでしょうか?

StackOverflow https://stackoverflow.com/questions/2709

  •  08-06-2019
  •  | 
  •  

質問

Win32 環境では、GetLastInputInfo API 呼び出しを使用できます。 Microsoft のドキュメント. 。基本的に、このメソッドは、ユーザーが最後に入力を行ったときに対応する最後のティックを返します。それがどれくらい前であるかを判断するには、それを現在のティックと比較する必要があります。

Xavi23cr には C# の良い例があります。 コードプロジェクト.

他の環境に関する提案はありますか?

正しい解決策はありません

他のヒント

Linux に関しては、一定時間が経過した後にステータスを退席中に変更するには、Pidgin がアイドル時間を決定する必要があることを私は知っています。ソースを開いて、必要なことを実行するコードが見つかるかどうかを確認してください。

あなたはそこにあなた自身の質問に答えたようです。

トリックの 1 つは、アプリケーションがデスクトップ上で実行されており、ユーザーが仮想マシンに接続している場合、GetLastInputInfo はアクティビティを報告しないことです (ホスト マシン上にアクティビティがないため)。

これは、ユーザー入力をどのように適用するかによって、希望する動作とは異なる場合があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top