- 題名: Windowsの未操作時間の取得
- 日時: 2007/07/23 15:49:40
- ID: 20115
- この記事の返信元:
- (なし)
- この記事への返信:
- [20135] Re[1]: Windowsの未操作時間の取得2007/07/25 12:31:40
- ツリーを表示
■No20115に返信(krpzさんの記事)
> スクリーンセーバーの"待ち時間"のように、Windows上で操作が行われなかった時間の取得をしたいのです。
> とある画面にで、操作がなかったら画面を閉じるとういようなことをしたいと思います。
> マウスムーブ、キープレスを設定する方法もあるのですが、標準的なやり方をお教えください。
.Netにラッパーがあるかどうか知りませんが、
Win32でしたらGetLastInputInfoを使います。
<DllImport("user32.dll")> _
Shared Function GetLastInputInfo(ByRef plii As LASTINPUTINFO) As Boolean
End Function
<StructLayout(LayoutKind.Sequential)> _
Structure LASTINPUTINFO
Public cbSize As Integer
Public dwTime As Integer
End Structure
Public Function GetLastInputTickCount() As Integer
Dim info As LASTINPUTINFO
Dim r As Boolean
info.cbSize = Marshal.SizeOf(info)
r = Form2.GetLastInputInfo(info)
If Not r Then Throw New Exception(Marshal.GetLastWin32Error.ToString)
Return info.dwTime
End Function
こんな感じで。
分類:[.NET]
連続での質問になってしまいますが、よろしくお願いします。
スクリーンセーバーの"待ち時間"のように、Windows上で操作が行われなかった時間の取得をしたいのです。
とある画面にで、操作がなかったら画面を閉じるとういようなことをしたいと思います。
マウスムーブ、キープレスを設定する方法もあるのですが、標準的なやり方をお教えください。
よろしくお願いします。