Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

---|Ветка была без названия|---


Krok ©   (2002-05-16 12:29:00) 

Может, кто-нибудь сталкивался...
Порядок действий такой:
1. Запускаю некий EXE-файл
2. Запускаю программу, которая в цикле пытается его удалить. Естественно из цикла она не выходит, поскольку файл блокирован запуском.
3. Выхожу из того EXE-файла
4. Функция удаления возвращает true и цикл завершается.
Дальше начинается самое интересное:В FAR`е(и проводнике) файл по-прежнему виден. Уничтожить его не дают. Команды типа copy и rename и аналогичные функции Delphi не срабатывают(равно как и DeleteFile()). FileExists() возвращает true. Запустить его на выполнение не удается. Но после перезапуска(!) системы файла уже нет.
Похоже надо, как-то освежить систему, а то она не в курсе. Кто-нибудь знает как? (Win2000)


Deader   (2002-05-22 01:18:00) [1]

Повесь резидент в оперативку на пример на Int 13h или на таймер
и делай че хош


erik   (2002-05-17 19:58:00) [2]

1) Rename myFile.exe myFile.bak(обязательно из DOS сесии!)
2) Далее копируеш свой фаил
3) Перезапускаешся и удаляеш myFile.bak


Krok   (2002-05-16 16:50:00) [3]

Основная задача подменить работающий файл и перезапустить его.
Как я понял, программно это не осуществить? Только формировать BAT-файл?


Proton   (2002-05-16 16:42:00) [4]

Основная задача то у тебя в EXEшнике удалить самого себя что ли?
Если так то мож вот это поможет.


<>DelItSelf.bat
:begin
del prga.exe
if EXIST proga.exe goto begin

del DelItSelf.bat
<>DelItSelf.bat

А батник запускай с параметром SW_HIDE.
После удаление программы ни чего не остается даже другой программы кот удаляла первую (как в твоем случае).
Батник удалит сам себя понимаеш ли :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо