7

С точки зрения ОС - перераспределение памяти, очистка потоков и т.д. - есть ли разница между 4 способами (я могу думать) о закрытии работающего приложения?

1. Красный 'X'

Красный х

2. Файл и выход

Файл и выход

3. Alt + F4

Alt и F4

4. Панель задач - Закрыть окно

Taskbar

1 ответ1

13

В данном конкретном случае нет, нет.

Все подходы, вероятно , опубликовать в WM_QUIT сообщения для самого приложения. Затем он обработает сообщение, очистив все ресурсы и выйдя из него.

Тем не менее, в теории, может быть разница. Меню Файл полностью находится под контролем приложения. Какие элементы появляются в нем и что происходит, если эти элементы вызываются, зависит от приложения. Автор приложения может запустить совершенно другой код при нажатии кнопки « Выход» в меню « Файл», чем тот, который будет запускаться при использовании Alt+F4.

Еще более теоретически, разработчик может переопределить поведение клавиш-акселераторов, таких как Alt+F4, и запускать код, отличный от того, что запускается при нажатии красной буквы X

Настоятельно не рекомендуется изменять поведение приложения, чтобы оно не соответствовало поведению Windows по умолчанию и ожиданиям пользователей в отношении закрытия приложений. Но так автоматически размещает ярлыки для приложений на рабочем столе ...

В то время как Alt+F4, красный X и пункт меню в окне списка скачка, вероятно , идентичны, в том , что они отправляют то же самое сообщение, есть и другие способы для выхода из приложения, как принуждать процесс выхода. Этого, как правило, следует избегать, если приложение больше не отвечает.

До тех пор, пока вы можете корректно выйти из приложения, закрыв соответствующее окно, вы должны это делать, потому что это позволяет приложению прекратить то, что он делает, возможно, завершить запись и закрыть открытые файлы и сохранить ваше текущее состояние. Когда вы принудительно закрываете приложение, оно не получает такой возможности. Вы в основном говорите операционной системе о том, чтобы очистить процесс (вместо того, чтобы позволить самому процессу очиститься). Но сам процесс гораздо лучше знает, как правильно себя очистить.

Диспетчер задач принудительно завершит процесс, если вы выберете « Завершить процесс» на вкладке « Процессы ». Если вы используете End Task в разделе Applications , он отправит сообщение WM_QUIT в выбранное окно приложения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .