| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using System;
- using System.Runtime.InteropServices;
- namespace Muchinfo.MTPClient.Service
- {
- public class GetLastInputInfoHelp
- {
- [DllImport("user32.dll")]
- internal static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
- /// <summary>
- /// 获取鼠标键盘不活动的时间
- /// </summary>
- /// <returns>结果</returns>
- public static int GetLastInputTime()
- {
- LASTINPUTINFO lastInputInfo = new LASTINPUTINFO();
- lastInputInfo.cbSize = Marshal.SizeOf(lastInputInfo);
- lastInputInfo.dwTime = 0;
- int idleTime = 0;
- if (GetLastInputInfo(ref lastInputInfo))
- {
- idleTime = Environment.TickCount - lastInputInfo.dwTime;
- }
- return ((idleTime > 0) ? (idleTime / 1000) : 0);
- }
- }
- [StructLayout(LayoutKind.Sequential)]
- internal struct LASTINPUTINFO
- {
- [MarshalAs(UnmanagedType.U4)]
- public int cbSize;
- [MarshalAs(UnmanagedType.U4)]
- public int dwTime;
- }
- }
|