特定のキーの押下状態を取得し、押したタイミングと離したタイミングでそれぞれ別の処理をしようと思います。具体的にはホットキーが押されている間だけフォームを表示し、離したら非表示にするというものです。タイマーを使って現在のキーの状態を取得しようと思い、次のようにしました。押されていない}}一応キーの状態は判別できているのですが、指定していない余分なキーが押されていた場合であっても押されたことになってしまいます。「Control+Shift+A」にのみ反応させるつもりが、「Control+Alt+Shift+A」のように、指定したキーが全て含まれてさえいれば反応しているようです。指定したキーのみが押されている状態をどのように取得すればいいのでしょうか?よろしくお願いします。一応キーの状態は判別できているのですが、指定していない余分なキーが押されていた場合であっても押されたことになってしまいます。「Control+Shift+A」にのみ反応させるつもりが、「Control+Alt+Shift+A」のように、指定したキーが全て含まれてさえいれば反応しているようです。中途半端にマスクしてしまうのが原因です。比較する前に比較したい項目だけでマスクしてしまうのでそれ以外のキーが押されているかどうかが判定に含まれていません。マスクせずに比較すれば判定できると思いますよ。中途半端にマスクしてしまうのが原因です。それ以外のキーが押されているかどうかが判定に含まれていません。回答有難うございます。教えていただいたように修正したら無事に動作しました。ビット演算に関する知識が足りていなかったので助かりました。