首页  编辑  

得到用户空闲的时间

Tags: /C#/API调用/   Date Created:

using System . Runtime . InteropServices;

[ StructLayout ( LayoutKind . Sequential)]

struct LASTINPUTINFO

{

   [ MarshalAs ( UnmanagedType . U4)]

    public int cbSize;

   [ MarshalAs ( UnmanagedType . U4)]

    public uint dwTime;

}

[ DllImport ( "user32.dll" )]

static extern bool GetLastInputInfo( ref LASTINPUTINFO plii);

static long GetLastInputTime()

{

    LASTINPUTINFO vLastInputInfo = new LASTINPUTINFO ();

   vLastInputInfo . cbSize = Marshal . SizeOf(vLastInputInfo);

    if ( ! GetLastInputInfo( ref vLastInputInfo)) return 0 ;

    return Environment . TickCount - ( long )vLastInputInfo . dwTime;

}

private void Form1_Load( object sender , EventArgs e)

{

   timer1 . Enabled = true ;

}

private void timer1_Tick( object sender , EventArgs e)

{

   Text = string . Format( "{0} , GetLastInputTime() / 1000 );

}