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