这样判断,为什么不行?if((GetAsyncKeyState(VK_CONTROL)<0)&&(GetAsyncKeyState(VK_MENU)<0)&&(GetAsyncKeyState(VK_DELETE)<0))
{

}

解决方案 »

  1.   

    Windows XP系统中如何屏蔽 Ctrl+Alt+Del、Alt+Tab以及Ctrl+Esc键序列
    http://www.vckbase.com/document/viewdoc/?id=424
      

  2.   

    如果只判断其中两个按键比如control+alt或control+delete或delete+alt都会响应用户操作,为什么三个放一起的时候会先调出任务管理器,然后再同时按下,才会响应用户自定义函数呢?
    是XP系统自己规定的吗?
      

  3.   

    或者你可以设个定时器。发现taskmgr.exe就结束掉。
    我实验过50毫秒以上对内存或速度基本没影响
      

  4.   

    建议写一个小的服务程序,里面用定时器判断taskmgr.exe有没有执行,有的话就关了它,比用钩子方便得多
      

  5.   

    如果弄成开关的呢?分别处理keyup,keydown。用变量记录,三个都是keydown的时候屏蔽消息。
    不知道可不可行。。
      

  6.   

    钩子不能屏闭CTRL+ALT+DEL,这三个组合键涉及系统底层,具有极高的影响权限.
    想要屏闭这个组合键有三种方法:
    编写键盘驱动
    自己写一个Windows登陆的DLL,替换原来的DLL.具体叫什么名字记不太清楚了
    使用DLL注入Winlogon进程
      

  7.   


    ctrl+alt+del这个组合键如果分开处理是没有任何作用的.设置一个定时器来处理,我曾经也试过,但会引出一些其它问题,而且有时也并不一定能准时Kill taskmgr.exe
      

  8.   

    要知道ctrl+alt+del不是启动任务管理器的唯一方法