private static int GetLastInputTime() { int idleTime = 0; var lastInputInfo = new LASTINPUTINFO(); lastInputInfo.cbSize = Marshal.SizeOf(lastInputInfo); lastInputInfo.dwTime = 0; int envTicks = Environment.TickCount; if (GetLastInputInfo(ref lastInputInfo)) { int lastInputTick = Convert.ToInt32(lastInputInfo.dwTime); idleTime = envTicks - lastInputTick; } int toret = ((idleTime > 0) ? (idleTime/1000) : 0); Console.WriteLine(@"Idle time: " + idleTime.ToString()); Console.WriteLine(toret.ToString()); return toret; }
private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);