Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > завершение работы


Автор: Ch0bits 19.6.2005, 22:50
Как определить что работа Windows была завершена неверно (например внезапный Reset)?

Автор: Poseidon 19.6.2005, 23:08
Ну, например, при запуске своей программы создаешь какой-нить файл, а при нормальном её завершении этот файл удаляешь.
И при этом при запуске проверяешь наличие этого файла. Если есть, то предыдущий запуск был завершен "неверно", т.к. при нормальном завершении этот файл удалился бы.
Этот как пример

Автор: Ch0bits 20.6.2005, 02:11
Цитата(Poseidon @ 19.6.2005, 23:08)
при запуске своей программы создаешь какой-нить файл, а при нормальном её завершении

Под "её" ты видимо подразумеваешь программу, а я здесь говорю про OS M$ Windos.

Автор: Quadr0 20.6.2005, 02:42
...

Автор: Ch0bits 20.6.2005, 15:13
Не хочу своего "трояна smile " в памяти всё время держать. smile

Автор: Quadr0 20.6.2005, 15:16
...

Автор: Ch0bits 20.6.2005, 15:33
Вы видимо имеете ввиду:

1. Запустить прогу из автозапуска.
2. Если есть метка -> работа завершена неверно -> Удалить метку
3. On_Create -> создать метку (файл, ключ реестра, ...)
4. On_Close_Query -> удалить метку

При этом необходимо постояная работа программы в течении сеанса.

Автор: Poseidon 20.6.2005, 15:38
Цитата(Vadim999 @ 20.6.2005, 15:33)
При этом необходимо постояная работа программы в течении сеанса.
И что? Демаешь программа с тремя процедурами будет много место а оперативке занимать? Делаешь безоконную прогу и все тут. Ни на жестком, ни в оперативке места она занимать много не будет.

Автор: Ch0bits 20.6.2005, 15:50
Я же не говорил, что это её единственная задача. Может у меня EXEшник в 10mb + DLLки на 40mb!
Хотя можно сделать отдельного агента для этого.

Тут вопрос более глубокий: как это определяет windows?
Например при неверном завершении работы запускает chkdsk (если FAT32) при следующей загрузке.

Автор: Poseidon 20.6.2005, 16:03
Цитата(Vadim999 @ 20.6.2005, 15:50)
как это определяет windows?
Скорее всего так и определяет. Создает временный файл где-нить, а при завершении удаляет его. Или может в реестре что-то меняет.

Автор: Quadr0 20.6.2005, 16:23
...

Автор: Snowy 20.6.2005, 16:54
Цитата(Vadim999 @ 20.6.2005, 15:50)
Тут вопрос более глубокий: как это определяет windows?

Это точно. Но есть одно НО.
Винда определяет это при загрузке.
Выполняет проверки и тд и тп.
Но, когда она уже загрузилась, эта информация уже не существует.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)