Да, есть. Это Alt+F4.
Это комбинация клавиш для завершения программы. Единственная причина, по которой он не работает, как рекламируется, это невежественные программисты, которые отказываются следовать рекомендациям Microsoft по проектированию.
Эта проблема будет сохраняться с любой другой горячей клавишей. Вы можете только создать собственное решение с AutoHotKey (или аналогичными инструментами), которое убивает процесс. Но это, скорее всего, заставит вас потерять много работы. Так как это довольно грубый метод для выхода из процесса.
Я хочу знать больше!
Хорошо, насколько я понимаю, есть несколько способов, которыми приложение Windows может быть завершено.
- Отправка сообщения окна
WM_CLOSE
в главное окно приложения.
- Уничтожение главного окна приложения.
- Завершение процесса.
Первый путь - это чистый путь. То, как вы собираетесь закрыть приложение. Это то же самое, что Alt+F4 работает. Нажатие Alt+F4 просто отправит сообщение WM_CLOSE
в окно приложения.
Теперь давайте рассмотрим все 3 способа в обратном порядке.
Завершение процесса
В Windows приложение живет в процессе. Внутри этого процесса приложение может создать окно. Окно - это то, что вы увидите на рабочем столе и с чем вы будете взаимодействовать.
Таким образом, если процесс является корнем приложения, если вы прервете его, все остальное также исчезнет. Так что было бы здорово полностью завершить приложение. Но это убьет приложение так внезапно, что у него не будет возможности сохранить какие-либо важные данные на диск.
Так что это не рекомендуется!
Уничтожение главного окна приложения
Как мы только что узнали, главное окно приложения - это только часть процесса. Так что, если мы просто уничтожим это окно, процесс все равно останется вонючим :(
И от этого будет еще сложнее избавиться, чем от приложения.
Скорее всего, это самый неприятный подход к попытке завершить приложение. Держись подальше!
Отправка сообщения WM_CLOSE
Windows - это операционная система, основанная на сообщениях. Это означает, что компоненты общаются друг с другом, отправляя друг другу маленькие сообщения.
Одним из этих сообщений является сообщение WM_CLOSE
.
Если приложение получает это сообщение, то соглашается, что это приложение должно захватить все действия и затем жизнь.
Но каждый программист может сам решить, как обработать сообщение.
Как говорилось ранее в документации , поведение по умолчанию будет вызывать DestroyWindow
и, таким образом, выполнять наш подход к выходу из приложения # 2.
С той небольшой разницей, что на этот раз это сделано намеренно, и у программы есть все шансы сохранить важные данные.
Заключение
Итак, как вы можете видеть, мы в большой степени зависимы от каждого программиста здесь. Или мы рискуем потерять данные (вы не хотите рисковать!).