Горячие клавиши и RAdmin

Тема в разделе "WASM.WIN32", создана пользователем AlexKaro, 18 апр 2005.

  1. AlexKaro

    AlexKaro New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2005
    Сообщения:
    7
    Адрес:
    Russia
    Надо перехватить нажатие клавиш F2-F12 На диалоге, делаю приблизительно так:



    g_hHookKbd = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)lpfnFilterProc, m_hInst, NULL);



    Обработчик:

    DWORD lpfnFilterProc(int nCode, WPARAM wParam, LPARAM lParam)

    {

    if (nCode < 0 || nCode != HC_ACTION)

    return CallNextHookEx(g_hHookKbd, nCode, wParam, lParam);



    // If this is a repeat or the key is being released, ignore it.

    if ((lParam & 0x80000000) || (lParam & 0x40000000))

    return CallNextHookEx(g_hHookKbd, nCode, wParam, lParam);

    else

    {

    if(hHookWnd)

    {

    switch(wParam)

    {

    case VK_F2: PostMessage(hHookWnd, WM_COMMAND, IDM_VK_F2, 0); break;

    case VK_F3: PostMessage(hHookWnd, WM_COMMAND, IDM_VK_F3, 0); break;

    case VK_F4: PostMessage(hHookWnd, WM_COMMAND, IDM_VK_F4, 0); break;

    case VK_F6: PostMessage(hHookWnd, WM_COMMAND, IDM_VK_F6, 0); break;

    default:

    break;

    }



    }

    }

    return CallNextHookEx(g_hHookKbd, nCode, wParam, lParam);

    }



    Проблема, при запуске RAdmin перестает работать. У меня с руками проблемы, или у авторов RAdmin?

    Заранее спасибо.
     
  2. AlexKaro

    AlexKaro New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2005
    Сообщения:
    7
    Адрес:
    Russia
    Проблема решилась заменой WH_KEYBOARD на WH_MSGFILTER :)