Fehlerquelle
Dies ist weder ein Fehler in Visual Studio noch in Windows. In der Tat ist der Fehler in Ihrer Tastatur! Es wurde berichtet, dass viele Tastaturen verschiedener Hersteller fehlerhaft sind.
Problem
Wenn Sie zuerst Ctrl+ drücken Breakund loslassen Ctrl, bleibt Break auf einer fehlerhaften Tastatur hängen. Wenn Sie jemals Ctrl+ Break"falsch" gedrückt haben, tritt dieses Problem auf, wenn die Suche unterbrochen wird.
Einzelheiten
Entsprechend den Scan-Code-Spezifikationen sind Breakund Ctrl+ Breakspeziell. Sie senden "make" (drücken) UND "break" (freigeben) Scan-Codes, sobald Sie drücken Break. Sie senden nichts, wenn Sie freigeben Break. Die fehlerhafte Tastatur sendet die folgende Sequenz:
- Ctrl Scan-Code "machen"
- Ctrl+ BreakScan-Code "erstellen"
- Ctrl Scan-Code "brechen"
- Pause Scan-Code "brechen"
Das heißt, Ctrl+ Breakwird nie veröffentlicht, sondern stattdessenPause freigegeben.
Reproduktion
Sie können beispielsweise altes gutes Spy ++ aus Visual Studio-Tools verwenden. Hängen Sie es an etwas an, z. B. an einen Windows-Notizblock, und überwachen Sie Nachrichten (ich schlage vor, dass Sie nur Tastaturmeldungen auswählen). Drücken Sie Ctrl+ Breakund lassen Sie Ctrlzuerst los . Überprüfen Sie die Ausgabe von Spy ++. Sie sehen die Sequenz, die ich im Abschnitt Details gezeigt habe.
Ich habe zwei verschiedene Tastaturen auf demselben Computer ausprobiert. Logitech K120 hat den Fehler, während sich einige andere Mitsumi-Tastaturen gemäß den Spezifikationen verhalten und den Fehler nicht haben.
Wenn Sie darüber nachdenken, ist es leicht zu verstehen, dass korrektes Verhalten eine Sonderfallbehandlung erfordert, während fehlerhaftes Verhalten naiv ist. Aus diesem Grund können viele verschiedene Tastaturen fehlerhaft sein.
Lösung
Ersetzen Sie Ihre Tastatur :)
Problemumgehung
Sie müssen nur Ctrl+ drücken Breakund Breakzuerst auf die Freigabe achten . Es spielt keine Rolle, welche Anwendung aktiv ist.