| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > завершение работы |
| Автор: Ch0bits 19.6.2005, 22:50 |
| Как определить что работа Windows была завершена неверно (например внезапный Reset)? |
| Автор: Poseidon 19.6.2005, 23:08 |
| Ну, например, при запуске своей программы создаешь какой-нить файл, а при нормальном её завершении этот файл удаляешь. И при этом при запуске проверяешь наличие этого файла. Если есть, то предыдущий запуск был завершен "неверно", т.к. при нормальном завершении этот файл удалился бы. Этот как пример |
| Автор: Ch0bits 20.6.2005, 02:11 | ||
Под "её" ты видимо подразумеваешь программу, а я здесь говорю про OS M$ Windos. |
| Автор: Quadr0 20.6.2005, 02:42 |
| ... |
| Автор: Ch0bits 20.6.2005, 15:13 |
| Не хочу своего "трояна |
| Автор: 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 | ||
|
| Автор: Ch0bits 20.6.2005, 15:50 |
| Я же не говорил, что это её единственная задача. Может у меня EXEшник в 10mb + DLLки на 40mb! Хотя можно сделать отдельного агента для этого. Тут вопрос более глубокий: как это определяет windows? Например при неверном завершении работы запускает chkdsk (если FAT32) при следующей загрузке. |
| Автор: Poseidon 20.6.2005, 16:03 | ||
|
| Автор: Quadr0 20.6.2005, 16:23 |
| ... |
| Автор: Snowy 20.6.2005, 16:54 | ||
Это точно. Но есть одно НО. Винда определяет это при загрузке. Выполняет проверки и тд и тп. Но, когда она уже загрузилась, эта информация уже не существует. |