//键盘钩子处理函数, 不起作用,why???
//win7 64位32位;win10 64 都试过,不行!!!
private int KeyboardHookProc(int nCode, Int32 wParam, IntPtr lParam)
{
KeyMSG m = (KeyMSG)Marshal.PtrToStructure(lParam, typeof(KeyMSG));//键盘消息处理
if (pKeyboardHook != IntPtr.Zero)//判断钩子句柄是否为空
{
switch (((Keys)m.vkCode))//判断按键
{
case Keys.LWin://键盘左侧的Win键
case Keys.RWin://键盘右侧的Win键
case Keys.Delete://Delete键
case Keys.Alt://Alt键
case Keys.Escape: //Esc键
case Keys.F4: //F4键
case Keys.Control://Ctrl键
case Keys.Tab://Tab键
return 1;//不执行任何操作
}
}
return 0;
}
//下面是任务管理器的屏蔽代码,就是不起作用
private void timer1_Tick(object sender, EventArgs e)
{
Process[] processes = Process.GetProcesses();//获取运行的所有进程名
foreach (Process p in processes)//遍历所有进程
{
try
{
if (p.ProcessName.ToLower().Trim() == "taskmgr")//判断进程的名字是否为taskmgr
{
p.Kill();//停止进程
Cursor.Clip = new Rectangle(x, y, size.Width, size.Height);//设置鼠标指针的边界
return;
}
}
catch
{
return;
}