监控键盘鼠标
[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();
}
}
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();
}
}