你可以做一个程序,让它屏蔽CTRL+ALT+DEL。这样的程序就可以达到你的要求。

解决方案 »

  1.   

    我只是想做一个锁定对话框,但是我怎么都没有办法对付2000下的ctl+alt+del
    谁能帮帮我,谢谢了,高手快出来啊.
      

  2.   

    使其失效,好象有API吧帮你查查!
      

  3.   

    HHOOK Hook;
    LRESULT CALLBACK GetKey(int nCode,WORD wParam,DWORD lParam);Hook=(HHOOK)SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)(GetKey),YourApp
                                    hWnd,0);LRESULT CALLBACK GetKey(int nCode,WORD wParam,DWORD lParam)
    {
    LRESULT Result=CallNextHookEx(Hook,nCode,wParam,lParam);
    if(nCode==HC_ACTION)
    {
    if(GetKeyState(VK_CONTROL)<0 && GetKeyState(VK_DELETE)<0 
                               &&GetKeyState(VK_ALT)<0)
    {
                  //do your work
    }
    }
    return 0;
    }
      

  4.   

    楼上的,别以为可以,做个HOOK的去屏蔽别的按键或者组合是可以的,但想屏蔽这
    三个键的组合是不可以的。看看MICROSOFT的MSDN中关于这个HOOK的说明的时候其实说的很清楚了,这三个键是不可以屏蔽的。所以不能用HOOK的办法。至于用什么方法我真的不知道,我去年在做程序是也需要这个功能,后来还是不了了之。
      

  5.   

    楼上的,楼上的,说的有理,只是我现在知道用GINA可以解决,但是在按上面这三个键时会出现闪烁,也就是使我的锁定对话框失去焦点,结果原来被setcursor()限制的鼠标就可以出限制范围了,就是不知如果用HOOK限制鼠标能不能在按下那三个键之后不受影响!
      

  6.   

    在Win 9x下用函数SystemParamertersInfo  第一个参数为SPI_SETSCREENSAVERRUNNING
    在NT和2K下,现在提供两种方法供参考。
    1、用DDK编程来屏蔽。2、覆盖WinNt/system32/msgain.dll。