[StructLayout(LayoutKind.Sequential)] struct LASTINPUTINFO { public static readonly int SizeOf = Marshal.SizeOf(typeof(LASTINPUTINFO)); [MarshalAs(UnmanagedType.U4)] public UInt32 cbSize; [MarshalAs(UnmanagedType.U4)] public UInt32 dwTime; } [DllImport("user32.dll")] static extern bool GetLastInputInfo(ref LASTINPUTINFO plii); static int GetLastInputTime() { int idleTime = 0; LASTINPUTINFO lastInputInfo = new LASTINPUTINFO(); lastInputInfo.cbSize = (UInt32)Marshal.SizeOf(lastInputInfo); lastInputInfo.dwTime = 0; int envTicks = Environment.TickCount; if (GetLastInputInfo(ref lastInputInfo)) { int lastInputTick = (Int32)lastInputInfo.dwTime; idleTime = envTicks - lastInputTick; } return ((idleTime > 0) ? (idleTime / 1000) : 0); }
Исходники по языку программирования CSharp

Так же если у вас есть предложение о сотрудничестве, пожелания, указать на нарушения сайта или просто сказать слова благодарности, все это вы можете сделать через форму обратной связи. Читать дальше
30 авг. 2012 г.
Определение времени простоя компьютера
Также читайте: Application,
Time,
Windows,
Windows Form
Copyright © 2011-2015 Справочник по C#. Все права защищены.
Комментариев нет:
Отправить комментарий
Большая просьба, не писать в комментариях всякую ерунду не по теме!