Блокировка завершения работы Windows
Модератор: motyara
-
- Сообщения: 19
- Зарегистрирован: Сб ноя 28, 2009 2:01 pm
Блокировка завершения работы Windows
Эта штука просто задолбала, честное слово! Я нажимаю кнопку выключения компьютера и ухожу спать. Просыпаюсь, а компьютер по-прежнему включен!
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
Полностью согласен с этим утверждением, так как уже довольно длительное время пытаюсь найти причину этой странности, но не получается. Обычно если уж программа не дает завершить работу системы, то попытка ее принудительно закрыть вручную тоже невозможна, однако здесь завершение вручную происходит легко... даже и не знаю, почему система ее не может закрыть. Как только обнаружится причина, сразу исправлю.
-
- Сообщения: 56
- Зарегистрирован: Вс авг 02, 2009 5:27 pm
Re:
просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.Max Diesel писал(а):Обычно если уж программа не дает завершить работу системы, то попытка ее принудительно закрыть вручную тоже невозможна, однако здесь завершение вручную происходит легко...
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
Причина проблемы явно в чем-то другом, так как если вместо кнопки "Принудительная перезагрузка" нажать "Отмена" и затем снова повторить попытку перезагрузки, то эффект будет тот же, однако если нажав отмену потом просто нажать кнопку закрытия программы, то закрытие происходит совершенно ровно - программа не сообщает о каком-либо желании завершить недовыполненную операцию и не падает с ошибкой.evgenyatam писал(а):просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.
-
- Сообщения: 19
- Зарегистрирован: Сб ноя 28, 2009 2:01 pm
-
- Сообщения: 19
- Зарегистрирован: Сб ноя 28, 2009 2:01 pm
Re: Re:
У меня скайп завершается нормально и принудительное завершение срабатывает. Проблема не в том. Этот экран просто не должен зависать в ожидании вечно.evgenyatam писал(а): просто семерка после нажатия кнопки "Завершить принудительно" скидывает процесс. А этой ошибкой страдает и скайп. а причина - предположительно в том что система во время завершения работы подает программе команду "выйти" а потом через некоторое довольно маленькое время проверяет висит ли процесс - если висит - заявляет что невозможно завершить работу.
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
Если бы дело было в циклах, то не только система не могла бы завершить программу, но и пользователь тоже - по нажатию кнопки "Закрыть" программа бы не закрывалась и это легко позволило бы найти причину проблемы. Сейчас я внес изменения в код функции, которая отвечает за реакцию на команду завершения, возможно теперь проблема исчезнет. Сообщите мне если при следующем билде проблема повторится.Beast Winterwolf писал(а):Подумайте, какие циклы в программе могут к этому приводить. Проблема однозначно в них.
-
- Сообщения: 56
- Зарегистрирован: Вс авг 02, 2009 5:27 pm
Re:
при нажатии "отмена" ничего кроме отмены завершения работы и закрытия окна не происходит.Max Diesel писал(а):evgenyatam писал(а): Причина проблемы явно в чем-то другом, так как если вместо кнопки "Принудительная перезагрузка" нажать "Отмена" и затем снова повторить попытку перезагрузки, то эффект будет тот же, однако если нажав отмену потом просто нажать кнопку закрытия программы, то закрытие происходит совершенно ровно - программа не сообщает о каком-либо желании завершить недовыполненную операцию и не падает с ошибкой.
закрытие происходит совершенно ровно потому что UC, как и любая другая программа, не чувствует скидывания процесса - так как при этом команды выхода не подается, а процесс принудительно завершается и чистится память занимаемая процессом.
-
- Сообщения: 56
- Зарегистрирован: Вс авг 02, 2009 5:27 pm
Re:
вот это совершенно правильно.Max Diesel писал(а): Если бы дело было в циклах, то не только система не могла бы завершить программу, но и пользователь тоже - по нажатию кнопки "Закрыть" программа бы не закрывалась и это легко позволило бы найти причину проблемы.
Там имелось в виду закрытие пользователем при помощи крестика. В этом варианте тоже происходит отправка сообщения программе, только немного другого.evgenyatam писал(а):закрытие происходит совершенно ровно потому что UC, как и любая другая программа, не чувствует скидывания процесса - так как при этом команды выхода не подается, а процесс принудительно завершается и чистится память занимаемая процессом.