我想写一个MFC 界面 仅仅一个简单的对话框 1个文本编辑拦 2个按钮如何可以把鼠标限制在此对话框的面积之内,同时要禁止WINDOWS 的所有热键例如 Ctrl+Alt+Del Alt+Tab  F1 F11 等 许多系统默认的热键 以及 目前流行的程序的热键
例如 QQ的~  
说白了就是锁定屏幕桌面的小程序偶是菜鸟哦。。 恳求高手指导一番。。拜谢先

解决方案 »

  1.   

    bool pOld;
    CRect rt;
    SetForegroundWindow();
    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,true,&pOld,SPIF_UPDATEINIFILE);
    GetWindowRect(rt);
    ClipCursor(rt);
      

  2.   

    上面是锁锁鼠标锁键盘就麻烦了
    win98下面锁系统键盘和2000/xp下面不一样
    俺也没做过
      

  3.   

    一般的按键,可以用keyboard hook可以锁住
     Ctrl+Alt+Del 在2000下,需要用gina.dll来拦截了
      

  4.   

    //屏蔽
    void CDisableDlg::OnButton1() 
    {
    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,1,NULL,0);
    }
    //恢复热件
    void CDisableDlg::OnButton2() 
    {
    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,0,NULL,0);
    }
      

  5.   

    void CLimitCursorPosDlg::OnClipcursor() 
    {
    //获得要限定的区域
    CWnd* pWnd = GetDlgItem(IDC_CLIPRECT);
    CRect rc;
    pWnd->GetWindowRect(&rc); //设定区域
    ClipCursor(&rc);
    }void CLimitCursorPosDlg::OnReleaseclip() 
    {
    //释放限定
    ClipCursor(NULL);
    }
      

  6.   

    IloveAzhu(AJUN)那个屏蔽热键的方法在2000以上系统中没有用的,要用oyljerry(☆勇敢的心☆-Paper Writing) 的方法