比如说,我在运行我的一个程序,当我按下Windows系统键后,不让windows执行
与“开始”按钮相同的功能。

解决方案 »

  1.   

    不知道捕获键盘消息可行。随便说的,也许windows键比较特殊
      

  2.   

    ::" 回复人: yifengling0(逸枫) ( "
    我也想过,但是我的程序在执行中要进行字符输入啊,搞成屏保这是不行了。以下的: 如果用键盘钩子的话,就算截获这个消息,那怎么处理这个消息,而不让Windows处理? 顺便问一下,Windows系统键的code是什么啊?
    如果那位大侠知道,就列出来大家欣赏! 多谢!(包括键盘中的每个键)
      

  3.   

    http://www.newzgc.com/download/IgnoreWin.zip
      

  4.   

    win2k 下,使用 WH_KEYBOARD_LL 键盘钩子
    ------------
    hHook = ::SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, m_hInstance, 0);
    -------------LRESULT CALLBACK LowLevelKeyboardProc (INT nCode, WPARAM wParam, LPARAM lParam)
    {
        // By returning a non-zero value from the hook procedure, the
        // message does not get passed to the target window
        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 CTRL+ALT+DEL
                if (pkbhs->vkCode == VK_DELETE && bControlKeyDown && pkbhs->flags & LLKHF_ALTDOWN)
                    return 1;            // Disable WINDOWS key
                if (pkbhs->vkCode == VK_LWIN || pkbhs->vkCode == VK_RWIN )
                    return 1;            break;
            }        default:
                break;
        }
        return CallNextHookEx (hHook, nCode, wParam, lParam);
    }
      

  5.   

    兄弟姐妹们!CSDN视我们的信誉如草芥,想扣就扣,想删ID就删ID,是我们深刻反省的时候了! 我们不应该继续支持CSDN! 我们应该建立一个自己的论坛!