バグソース
これはVisual StudioでもWindows関連のバグでもありません。実際、バグはキーボードにあります!さまざまなベンダーの多くのキーボードにバグがあると報告されています。
問題
Ctrl+ を押して最初にBreak離すCtrlと、Breakはバグのあるキーボードで動かなくなります。あなたが押された場合Ctrl+ Break「間違った」方法を、あなたは検索が中断された状態で、この問題を持っています。
細部
スキャンコードの仕様によるBreakと、Ctrl+ Breakは特別です。それらは、を押すと同時に「make」(押す)および「break」(解放)スキャンコードを送信しますBreak。リリースしても、何も送信されませんBreak。バギーキーボードは次のシーケンスを送信します。
- Ctrl 「作成」スキャンコード
- Ctrl+ Break「作成」スキャンコード
- Ctrl 「ブレーク」スキャンコード
- Pause 「ブレーク」スキャンコード
つまり、Ctrl+ Breakはリリースされず、Pauseリリースされます。
再生
たとえば、Visual Studioツールの古き良きSpy ++を使用できます。Windowsのメモ帳などの任意のものに添付し、メッセージを監視します(キーボードメッセージのみを選択することをお勧めします)。Ctrl+を押してBreak、Ctrl最初に離します。Spy ++からの出力を確認します。詳細セクションに示したシーケンスが表示されます。
同じコンピューターで2つの異なるキーボードを試しました。Logitech K120にはバグがありますが、他の一部のMitsumiキーボードは仕様に従って動作し、バグはありません。
考えてみれば、バグのある動作はナイーブですが、正しい動作には特別なケース処理が必要であることを理解するのは簡単です。これが、多くの異なるキーボードにバグがある可能性がある理由です。
解決
キーボードを交換してください:)
回避策
最初にリリースすることに注意して、Ctrl+ を押すだけです。どのアプリケーションがアクティブであるかは関係ありません。BreakBreak