using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
//----------------------------------------------------------------
//Module Name: $safeprojectname$
//Purpose:
//CopyRight: Muchinfo
//History:
//----------------------------------------------------------------
//DateTime 2016/12/21 17:19:12
//Author
//Description Create
//----------------------------------------------------------------
namespace Muchinfo.MTPClient.Infrastructure.Utilities
{
public class GetLastInputInfoHelper
{
[DllImport("user32.dll")]
internal static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
///
/// 获取鼠标键盘不活动的时间
///
/// 结果
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*60)) : 0);
}
}
[StructLayout(LayoutKind.Sequential)]
internal struct LASTINPUTINFO
{
[MarshalAs(UnmanagedType.U4)]
public int cbSize;
[MarshalAs(UnmanagedType.U4)]
public int dwTime;
}
}