Справочник по C#

    Исходники по языку программирования CSharp

    Определение времени простоя компьютера: Справочник по C#

    /
    /
    /
    160 Views


    [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);
    }

    Определение времени простоя компьютера: Справочник по C#

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest