Так, є. Це Alt+ F4.
Це ключове поєднання для завершення програми . Єдиною причиною, коли вона не працює як рекламована реклама, є неосвічені програмісти, які відмовляються дотримуватись інструкцій щодо дизайну Microsoft.
Ця проблема не зникатиме і з іншими гарячими клавішами. Ви можете лише створити користувальницьке рішення за допомогою AutoHotKey (або подібних інструментів), що вбиває процес. Але це, швидше за все, змусить вас втратити багато роботи. Оскільки це досить жорстокий метод виходу з процесу.
Я хочу знати більше!
Гаразд, наскільки я розумію, існує кілька способів припинення роботи програми Windows.
- Опублікування віконного повідомлення у головному вікні програми.
WM_CLOSE
- Знищення основного вікна програми.
- Припинення процесу.
Перший спосіб - чистий шлях. Те, як ви плануєте закрити програму. Це те саме, що Alt+ F4працює. Натискання Alt+ F4просто надішле WM_CLOSE
повідомлення у вікно програми.
Тепер давайте розглянемо всі 3 способи у зворотному порядку.
Припинення процесу
У Windows додаток живе в процесі . Всередині цього процесу програма може створити вікно . Вікно - це те, що ви побачите на своєму робочому столі і з чим ви будете взаємодіяти.
Отже, якщо процес є коренем програми, якщо ви його припините, все інше також піде. Тож це було б чудово, щоб повністю закінчити заявку. Але це вб'є додаток настільки різко, що у нього не буде шансів зберегти будь-які критичні дані на диску.
Тож це не рекомендується!
Знищення основного вікна програми
Як ми нещодавно дізналися, головне вікно програми - це лише частина процесу . Отже, якщо ми просто знищимо це вікно, у нас все ще буде процес, що смердить на цьому місці :(
І позбутися цього було б навіть важче, ніж це було б у додатку.
Це, швидше за все, найнебезпечніший підхід до спроби закінчити заявку. Тримайся далеко!
Опублікування WM_CLOSE
повідомлення
Windows - це операційна система на основі повідомлень. Значить, компоненти розмовляють між собою, надсилаючи один одному невеликі повідомлення.
Одним із таких повідомлень є WM_CLOSE
повідомлення.
Якщо програма отримає це повідомлення, то домовлено, що ця програма повинна захопити всі дії, а потім і життя.
Але кожен програміст може самостійно вирішити, як обробляти повідомлення.
Як нам було сказано в документації , поведінкою за замовчуванням було б дзвонити DestroyWindow
і, таким чином, виконувати наш підхід до виходу програми №2.
Маючи невелику різницю, що цього разу це навмисно, і програма має всі шанси зберегти критичні дані.
Висновок
Отож, як бачите, ми майже в сілі кожного програміста. Або ми ризикуємо втратити дані (ви не хочете ризикувати!).