1

Самое первое, что я замечаю при использовании этого метода для быстрого закрытия запущенной программы / игры, - это потенциальная потеря данных, например, настройки. Но если со мной все в порядке, продолжит ли это делать причинять долговременный вред системе, программному или аппаратному обеспечению, например ОЗУ?

Кроме того, я хотел бы знать, что на самом деле делает Alt+f4? Если он на самом деле пытается убить связанный процесс, ему не понадобится время для закрытия программы / игры, но, как я заметил, некоторые игры (и большинство из них) останавливаются на несколько секунд перед тем, как их закрыть, а если я убиваю их процессы в диспетчере задач они закроются практически сразу.

Еще одна вещь, которую я знаю, это то, что многие игры и программы, по-видимому, были реализованы с помощью этой горячей клавиши для быстрого выхода, поэтому они на самом деле спросят, хочу ли я выйти и сохранить прогресс перед выходом, как в обычной процедуре.

2 ответа2

3

Alt-F4 - это команда windows, чтобы закрыть приложение.

Само приложение имеет возможность выполнять код при нажатии ALT-F4.

Вы должны знать, что alt-f4 никогда не прекратит работу приложения, находясь в последовательности чтения / записи, если только само приложение не знает, что его можно безопасно прервать.

Говоря об играх, разработчики часто не имеют в виду, что люди нажимают ALT-F4, чтобы быстро выйти из игры. Если игра в этот момент сохраняется (часто это видно по индикатору какого-то рода с сообщением: не выключайте компьютер, если вы видите этот индикатор), и вы нажимаете ALT-F4, высока вероятность того, что профиль будет поврежден. и ваша сохраненная игра потеряна.

Что касается реализации, она работает наоборот. Так как это клавиша быстрого доступа Windows, если программа / игра явно не запрещает ALT-F4 не выходить из своей программы, она всегда будет работать.

0

alt+f4 - это встроенный ярлык ОС, который при запуске отправляет сигнал SIGINT процессу, управляющему активным окном. SIGINT (как для прерывания сигнала) - это сигнал, предназначенный для сообщения процессу, который был запрошен для остановки. При разработке приложения вы можете определить в его поведении, что оно может "поймать" сигнал, что означает, что вы изменяете ход действий, автоматически определяемый приложением, когда оно получает такой сигнал.

Хорошим примером этого будет текстовый редактор. Любое приложение, получающее SIGINT, завершит работу, однако разработчики текстовых редакторов предпочтительно переопределят это поведение, чтобы спросить пользователя, хочет ли он сохранить текущий открытый файл перед выходом. В этом случае разработчики говорят программе не выходить при получении SIGINT, а вместо этого запрашивать пользователя и, в зависимости от выбора пользователя, вручную завершать работу (например, в Microsoft Word, если пользователь выбирает «Отмена», программа не будет выходить). , даже если он получил SIGINT).

Есть несколько сигналов с различным использованием, и даже есть несколько сигналов относительно выхода из приложения. Теоретически, вы можете выбрать поведение, которое вы хотите для любого из них. SIGINT, например, можно считать "мягким" сигналом выхода. SIGKILL, с другой стороны, является самым сложным сигналом выхода, который существует, и его никогда не следует переопределять, как если бы он был отправлен, обычно потому, что пользователь хочет немедленного прерывания программы, не задавая вопросов. Я мог бы поспорить, например, что если вы отправите SIGKILL в Microsoft Word, он немедленно прекратит работу, даже если у вас есть несохраненные изменения.

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