监控键盘鼠标

[DllImport("USER32.DLL",CallingConvention=CallingConvention.StdCall)]   
private static extern int GetCursorPos (ref Point  lpPoint);   
[DllImport("USER32.DLL",CallingConvention=CallingConvention.StdCall)]   
private static extern int GetKeyboardState(ref byte lpKeyState);    
private Point ptOld=new Point(0,0);
private void Form1_Load(object sender, System.EventArgs e)
{
    GetCursorPos(ref ptOld);     //启动时鼠标所处的位置 
}
private void timer1_Tick(object sender, System.EventArgs e)
{
    byte[] bytCurKeyState=new byte[256];
    GetKeyboardState(ref bytCurKeyState[0]); 
    for (int i=0;i<256;i++)
    {
        if (bytCurKeyState[i] > 1 )  //检查当前是否有个键盘被按下(包括鼠标)
        {    
            Close();
        }
    }    
    Point pt=new Point(0,0);
    GetCursorPos(ref pt); 
    if (!pt.Equals(ptOld))  //检查鼠标是否移动了
    {
        Close(); 
    }
}

你可能感兴趣的:(监控键盘鼠标)