1

キーボード入力用に WM_SYSKEYDOWN と WM_SYSKEYUP で何かを試しました。

これが重要なコード部分です。

        case WM_SYSKEYDOWN:
            if (wParam == VK_MENU)      // VK_MENU = 18 = alt keys
            {
                if (!(lParam & (1 << 30)))
                {
                    std::cout << "Pressed left alt key" << std::endl;
                }   
            };
            break;

        case WM_SYSKEYUP:
            if (wParam == VK_MENU)      // VK_MENU = 18 = alt keys
            {
                        std::cout << "Released left alt key" << std::endl;
            };
            break;

ボタンを押すと1つの文字列を1回印刷し、キーを離すともう1つの文字列を印刷しようとしました。

リリースは機能しますが、応答を押すのは2 回押すごとに 1 回だけです。

if (!(lParam & (1 << 30)))

この行は、文字列の再送信を頻繁に中断する必要があります。

理由はわかりません... ですが、そうなることを願っています。

前もって感謝します!

4

1 に答える 1