54 lines
1.4 KiB
C#
54 lines
1.4 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: CarotDAV.Misc
|
|
// Assembly: CarotDAV, Version=1.13.2.18337, Culture=neutral, PublicKeyToken=null
|
|
// MVID: C31F2651-A4A8-4D09-916A-8C6106F5E7C8
|
|
// Assembly location: F:\Eigene Dateien\Dropbox\portable Collection\Progs\CarotDAV\CarotDAV.exe
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace CarotDAV
|
|
{
|
|
public sealed class Misc
|
|
{
|
|
[DllImport("user32.dll")]
|
|
public static extern bool GetLastInputInfo(ref Misc.LASTINPUTINFO plii);
|
|
|
|
public static uint GetIdleTime()
|
|
{
|
|
Misc.LASTINPUTINFO plii = new Misc.LASTINPUTINFO();
|
|
plii.cbSize = Marshal.SizeOf((object) plii);
|
|
Misc.GetLastInputInfo(ref plii);
|
|
int tickCount = Environment.TickCount;
|
|
if (tickCount >= plii.dwTime)
|
|
return checked ((uint) ((long) tickCount - (long) plii.dwTime));
|
|
return checked ((uint) ((long) tickCount - (long) int.MinValue + (long) int.MaxValue + 1L - (long) plii.dwTime));
|
|
}
|
|
|
|
public struct LASTINPUTINFO
|
|
{
|
|
[MarshalAs(UnmanagedType.U4)]
|
|
public int cbSize;
|
|
[MarshalAs(UnmanagedType.U4)]
|
|
public int dwTime;
|
|
}
|
|
|
|
public struct WINDOWPOS
|
|
{
|
|
public IntPtr hwnd;
|
|
public IntPtr hwndInsertAfter;
|
|
public int x;
|
|
public int y;
|
|
public int cx;
|
|
public int cy;
|
|
public int flags;
|
|
}
|
|
|
|
public enum WindowMessageType
|
|
{
|
|
WM_WINDOWPOSCHANGING = 70,
|
|
WM_WINDOWPOSCHANGED = 71,
|
|
}
|
|
}
|
|
}
|