1

アプリケーション用にユーザー定義のグローバル ホット キーを取得しようとしています。これが私のアプリケーションコードです。

user.rc

CONTROL         "", IDC_MHOTKEY, HOTKEY_CLASS, WS_TABSTOP, 91, 86, 68, 14

関数.cpp

    WORD wHotKey = SendDlgItemMessage(hwnd, IDC_MHOTKEY, HKM_GETHOTKEY, 0, 0);
    GLOBAL_HOTKEY= wHotKey;
    RegisterHotKey ( NULL, TURN_OFF_HOTKEY, HIBYTE(LOWORD(wHotKey)) , wHotKey);

main.cpp

   if ( messages.message == WM_HOTKEY && ( HIWORD ( messages.lParam ) == GLOBAL_HOTKEY) )
                        alert("Coming only for Single Key");

このコードは、ユーザーが単一のキーを選択し、CTRL + F8 のように複数のキーを組み合わせて選択した場合にのみ機能します。

4

1 に答える 1

1

wHotKey 値から仮想キーを分離する必要があります。

RegisterHotKey ( NULL, 
    TURN_OFF_HOTKEY,  
    HIBYTE(LOWORD(wHotKey)),          // Modifiers
    LOBYTE(LOWORD(wHotKey))           // Virtual key
);
于 2010-04-04T11:20:54.870 に答える