K3

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

 1   private void Form1_Load(object sender, EventArgs e)
 2         {
 3             System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
 4             t.Interval = 100;
 5             t.Tick += new EventHandler(t_Tick);
 6             t.Start();
 7         }
 8 
 9         void t_Tick(object sender, EventArgs e)
10         {
11             long time = GetLastInputTime();
12             if (time > 1000)
13             {
14                 ((System.Windows.Forms.Timer)sender).Stop();
15                 MessageBox.Show(time.ToString());
16             }
17         }
18 
19         [StructLayout(LayoutKind.Sequential)]
20         struct LASTINPUTINFO
21         {
22             [MarshalAs(UnmanagedType.U4)]
23             public int cbSize;
24             [MarshalAs(UnmanagedType.U4)]
25             public uint dwTime;
26         }
27 
28         [DllImport("user32.dll")]
29         static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
30 
31         static long GetLastInputTime()
32         {
33             LASTINPUTINFO vLastInputInfo = new LASTINPUTINFO();
34             vLastInputInfo.cbSize = Marshal.SizeOf(vLastInputInfo);
35             if (!GetLastInputInfo(ref vLastInputInfo)) return 0;
36             return Environment.TickCount - (long)vLastInputInfo.dwTime;
37         }
posted on 2007-03-09 15:00  K3  阅读(252)  评论(0编辑  收藏  举报