예제 #1
0
        TimeSpan getIdleTime()
        {
            var idleTime = new LASTINPUTINFO { cbSize = LASTINPUTINFO.SizeOf };
            GetLastInputInfo(ref idleTime);

            var currentTicks = GetTickCount();

            long deltaTicks;
            if (idleTime.dwTime > currentTicks) {
                deltaTicks = (((long)currentTicks + UInt32.MaxValue) - idleTime.dwTime);
            } else {
                deltaTicks = currentTicks - idleTime.dwTime;
            }

            return new TimeSpan(deltaTicks);
        }
예제 #2
0
 static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);