Блокировка завершения работы Windows
Добавлено: Ср сен 02, 2015 10:17 am
Эта штука просто задолбала, честное слово! Я нажимаю кнопку выключения компьютера и ухожу спать. Просыпаюсь, а компьютер по-прежнему включен!
Виртуальный форум по нереальному файловому менеджеру
http://forum.unrealcommander.net/
просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.Max Diesel писал(а):Обычно если уж программа не дает завершить работу системы, то попытка ее принудительно закрыть вручную тоже невозможна, однако здесь завершение вручную происходит легко...
Причина проблемы явно в чем-то другом, так как если вместо кнопки "Принудительная перезагрузка" нажать "Отмена" и затем снова повторить попытку перезагрузки, то эффект будет тот же, однако если нажав отмену потом просто нажать кнопку закрытия программы, то закрытие происходит совершенно ровно - программа не сообщает о каком-либо желании завершить недовыполненную операцию и не падает с ошибкой.evgenyatam писал(а):просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.
У меня скайп завершается нормально и принудительное завершение срабатывает. Проблема не в том. Этот экран просто не должен зависать в ожидании вечно.evgenyatam писал(а): просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.
Если бы дело было в циклах, то не только система не могла бы завершить программу, но и пользователь тоже - по нажатию кнопки "Закрыть" программа бы не закрывалась и это легко позволило бы найти причину проблемы. Сейчас я внес изменения в код функции, которая отвечает за реакцию на команду завершения, возможно теперь проблема исчезнет. Сообщите мне если при следующем билде проблема повторится.Beast Winterwolf писал(а):Подумайте, какие циклы в программе могут к этому приводить. Проблема однозначно в них.
при нажатии "отмена" ничего кроме отмены завершения работы и закрытия окна не происходит.Max Diesel писал(а):evgenyatam писал(а): Причина проблемы явно в чем-то другом, так как если вместо кнопки "Принудительная перезагрузка" нажать "Отмена" и затем снова повторить попытку перезагрузки, то эффект будет тот же, однако если нажав отмену потом просто нажать кнопку закрытия программы, то закрытие происходит совершенно ровно - программа не сообщает о каком-либо желании завершить недовыполненную операцию и не падает с ошибкой.
вот это совершенно правильно.Max Diesel писал(а): Если бы дело было в циклах, то не только система не могла бы завершить программу, но и пользователь тоже - по нажатию кнопки "Закрыть" программа бы не закрывалась и это легко позволило бы найти причину проблемы.
Там имелось в виду закрытие пользователем при помощи крестика. В этом варианте тоже происходит отправка сообщения программе, только немного другого.evgenyatam писал(а):закрытие происходит совершенно ровно потому что UC, как и любая другая программа, не чувствует скидывания процесса - так как при этом команды выхода не подается, а процесс принудительно завершается и чистится память занимаемая процессом.