Источник ошибок
Это не ошибка Visual Studio или Windows. На самом деле, ошибка в вашей клавиатуре! Сообщается, что на многих клавиатурах разных производителей произошла ошибка.
Задача
Если вы нажмете Ctrl + Break и сначала отпустите Ctrl , то Break застрянет на глючной клавиатуре. Если вы когда-нибудь нажали Ctrl + Break «неправильным» способом, у вас возникнет эта проблема с прерыванием поиска.
информация
В соответствии со спецификациями кода сканирования, Break и Ctrl + Break являются специальными. Они посылают «make» (нажмите) И «прерывают» (отпускают) коды сканирования в тот момент, когда вы нажимаете Break . Они ничего не посылают, когда вы отпускаете Break . Глючная клавиатура отправит следующую последовательность:
- Ctrl"сделать" код сканирования
- Ctrl + Перерыв"сделать" код сканирования
- Ctrl код сканирования "break"
- Пауза Код сканирования "перерыв"
То есть Ctrl + Перерыв никогда не освобождается, но вместо этого Пауза освобождается.
Размножение
Например, вы можете использовать старый добрый Spy ++ из инструментов Visual Studio. Прикрепите его к чему-либо, например, к блокноту Windows, и следите за сообщениями (я предлагаю выбирать только сообщения с клавиатуры). Нажмите Ctrl + Break , сначала отпустив Ctrl . Проверьте вывод из Spy ++. Вы увидите последовательность, показанную мною в разделе «Детали».
Я пробовал две разные клавиатуры на одном компьютере. В Logitech K120 есть ошибка, в то время как некоторые другие клавиатуры Mitsumi ведут себя в соответствии со спецификациями и не имеют ошибок.
Если вы подумаете об этом, легко понять, что для правильного поведения требуется особая обработка, в то время как ошибочное поведение наивно. Вот почему на разных клавиатурах могут быть ошибки.
Решение
Замените клавиатуру:)
Обход
Вам просто нужно нажать Ctrl + Break , обращая внимание на первую команду Break . Неважно, какое приложение активно.