WM_SYSKEYDOWNとWM_SYSKEYUPでキーボード入力を試しました。WM_SYSKEYDOWNが更新されていない
ここに重要なコードパッドがあります。
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回押すとが押されます。
if (!(lParam & (1 << 30)))
この行は、頻繁に文字列をポストするのを中断する必要があります。
私はそれをなぜ受けていない...しかし、私は願っています。
ありがとうございます!
WM_SYSKEYDOWNは*他のキーとAltキーを組み合わせた*キーストロークに予約されています。またはF10。それが何であっても、本来の意図された有用性をはるかに超えているという区別。それについては、WM_KEYDOWNと同じ方法で扱うのが理想的です。 –
これは、どの "alt"キーがどのキーであるかを示す方法があることを意味します。左か右の?私はそれをする方法を見つけませんでした。左のAltキーはWPARAMのインデックスを入力するだけでは表示されません。だから、私はその方法を試してみました..(注:右のAltキーは私に必要なインデックスを与えます) – DotBlack