public static class HxTimer { static System.Windows.Threading.DispatcherTimer _LockSreenTimer = new System.Windows.Threading.DispatcherTimer(); public static System.Windows.Threading.DispatcherTimer LockSreenTimer { get { return _LockSreenTimer; } set { _LockSreenTimer = value; } } /// <summary> /// 锁屏倒计时秒 /// </summary> public static int IdleMinute; } 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; }