Обнаружение горячих клавиш и KeyUp - PullRequest
0 голосов
/ 19 января 2011

Я использую горячие клавиши для обнаружения push-to-talk в программе записи голоса, то есть я начинаю запись, когда WM_KEYDOWN, и прекращаю запись на WM_KEYUP.Я хочу сделать это и за пределами окна, поэтому я использую горячую клавишу для определения активности на кнопке «нажми и говори».

Проблема в том, что WM_HOTKEY сообщает мне, когда WM_KEYDOWN, но не WM_KEYUP ...

while (GetMessage(&msg, NULL,0,0)) {
    // need to process push-to-talk outside the message proc function
    if (msg.message==WM_HOTKEY) {
        if (connected) {
            if (!recording) {
                MessageBox(hWnd,"KEYSTART","KEYSTART",0);
                recording = true;
            }
            else {
                MessageBox(hWnd,"KEYSTOP","KEYSTOP",0);
                recording = false;
            }
        }
    }
    else {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

}

ВОПРОС: Есть ли способ обнаружить действие KEYUP на кнопке PTT, кромеKeyHooks?

Заранее спасибо

...