Отключить клавиши клавиатуры, когда консоль c Запускать с помощью c или c ++ - PullRequest
3 голосов
/ 09 марта 2010

Я хочу отключить клавиатуру при запуске моей программы, это означает, что никто не может использовать alt + F4 и т. Д. Как я могу сделать это, используя c в ОС Windows.

Ответы [ 2 ]

3 голосов
/ 09 марта 2010

Обработка WM_SYSKEYUP , WM_SYSKEYDOWN и возврат 0

Вот WndProc для обработки этих сообщений

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;

    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Parse the menu selections:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_SYSKEYDOWN:
    case WM_SYSKEYUP:
    case WM_KEYDOWN:
    case WM_KEYUP:
        return 0;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: Add any drawing code here...
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
2 голосов
/ 09 марта 2010

При нажатии alt + f4 отправляется сообщение WM_CLOSE. Вы должны правильно обработать это сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...