0

私の WPF アプリでは、システムのアイドル時間 (マウス、キーボード、ジョイスティックを使用していないことを含む) を検出する必要があります。

以前GetLastInputInfoはシステムのアイドル時間を取得していましたが、マウスまたはキーボードからの入力に対してのみ機能し、ジョイスティックからは機能しないことがわかりました。

3 つすべてのデバイス (マウス、キーボード、ジョイスティック) からの入力を検出して LastInputInfo を取得できる方法または Win32 API はありますか?

4

1 に答える 1

0

RAW入力メッセージを受信するように登録できます。以下の例では、ジョイスティックからのRaw入力を要求しますが、必要に応じてマウスとキーボードからのRaw入力を要求することもできます。または、これらの場合にGetLastInputInfoを使用することに固執することもできます。

アプリケーションがフォアグラウンドにない場合でもイベントを受信する場合は、dwFlagsでRIDEV_INPUTSINKを使用します。

以下のリンクには、必要なことを実行するのに十分なものがあるはずです...各参照から少しずつ取り出してください。

次に、Windowsメッセージを受信するためのコールバックを定義してから、WM_INPUTを探す必要があります。

システムフックを使用する必要はないと思いますが、ここにそのことを示すリンクがあります。

于 2012-07-28T22:17:46.207 に答える