请看http://www.ccw.com.cn/htm/app/aprog/01_5_24_5.asp

解决方案 »

  1.   

    你可以通过建一个DLL,建立一个全局钩子,使用SetWindowsHookEx()函数,监控底层的键盘事件。具体参数你看MSDN的帮助吧。在监控的函数里,如果监控到的键盘的虚拟码是VK_WIN的,直接return就是了。如果不是你就调用CallNextHook()返回就是。
      

  2.   

    我是在win2k下用过了底层的钩子,WH_KEYBOARD_LL可是即便是在Debug下我停止不前,那个开始菜单还是会出来
      

  3.   

    有人说一说win2k究竟是什么?我总是见,就是不知道其意
      

  4.   

    很明显钩子做不了
    因为钩子是用户级的
    win是系统级的
      

  5.   

    how about disable menu popup by handling WM_INITMENUPOPUP?Win+E Win+F,Win+M etc may still work.
      

  6.   

    2000下用gina
    98下
    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,1,NULL,0);
      

  7.   

    LRESULT CALLBACK LowLevelKeyboardProc(int nCode,WPARAM wParam, LPARAM lParam)
     {
        KBDLLHOOKSTRUCT *pkbhs = (KBDLLHOOKSTRUCT *) lParam;
        BOOL bControlKeyDown = 0;
        switch (nCode)
        {
            case HC_ACTION:
            {
                // Check to see if the CTRL key is pressed
                bControlKeyDown = GetAsyncKeyState (VK_CONTROL) >> ((sizeof(SHORT) * 8) - 1);
                // Disable CTRL+ESC
                if (pkbhs->vkCode == VK_ESCAPE && bControlKeyDown)
                    return 1;
                // Disable ALT+TAB
                if (pkbhs->vkCode == VK_TAB && pkbhs->flags & LLKHF_ALTDOWN)
                    return 1;
                // Disable ALT+ESC
                if (pkbhs->vkCode == VK_ESCAPE && pkbhs->flags & LLKHF_ALTDOWN)
                    return 1;
               //Disable ALT+F4
               if (pkbhs->vkCode == VK_F4 && pkbhs->flags && LLKHF_ALTDOWN )
                   return 1;
               // Disable start menu
               if (pkbhs->vkCode == VK_LWIN || pkbhs->vkCode == VK_RWIN)
                   return 1;
               //Disable  mouse's right_click
               /*
               if (pkbhs->vkCode == VK_LBUTTON||pkbhs->vkCode == VK_RBUTTON)
                   return 1;
                   //*/
               
                break;
            }
            default:
                break;
        }
        return CallNextHookEx(NULL, nCode, wParam, lParam);