Текущий архив: 2003.05.08;
Скачать: CL | DM;
Вниз
????Ребят, как удалять Paramstr(0)???? Найти похожие ветки
← →
Denich (2003-04-20 01:15) [0]Все перепробовал... И FileDelete и Erase и с помощью ShellExecute... И с помощью реестра RunOnce и RunOnceEx...
В общем - HELP !!!
← →
default (2003-04-20 01:23) [1]файл запущенной программы удалить нельзя
для обхода используют бат-файл
← →
Chlavik (2003-04-20 02:48) [2]Всё там RunOnce помагает только вот сам файл загружать не надо...
← →
Esu (2003-04-20 12:29) [3]Можно написать программу которая при запуске закрывает твою программу и удаляет после закрытия. Записать ее можно в ресурсы и потом извлекать в $tempdir%. После выполнения "полезной функции" пишет в RunOnce команду удаляющую собственно себя.
Chlavik © (20.04.03 02:48)
Просто в RunOnce нельзя. Ведь сразу компьютер перезагружать плохо (с EWX_FORCE естественно), а если перезагружать не сразу то кто-то может успеть похитить ценнейший программный продукт ;)
← →
NightAngel (2003-04-20 16:18) [4]> Denich (20.04.03 01:15)
Все перепробовал... И FileDelete и Erase и с помощью ShellExecute... И с помощью реестра RunOnce и RunOnceEx...
В общем - HELP !!!
А что будет если приложение запущено с CD-ROM?
Извините... не удержался.
1. Можно создать thread в другом процессе и вызвать в нем функцию WaitForSingleObject с параметром - хэндлом процесса. После завершения можно удалять.
2. [ Current process ]
a) Create a new file with FILE_FLAG_DELETE_ON_CLOSE (function CreateFile()).
b) Copy the current executable"s content into the new file.
c) Create a new process with the duplicate executable:
d) Pass the current executable"s full path and PID in the call to CreateFile.
e) Sleep for a short time to give the new process time to start.
f) Close the new file.
g) Exit current process.
[ Duplicate process ]
h) Wait for the process specified on command-line to die.
i) Delete file specified on command-line.
j) Exit duplicate process.
3. Можно проще: в куче написать свое имя, потом подготовить стек, чтоб после возврата из FreeLibrary (на себя) мы приехали на DeleteFile и потом - ExitProcess или что-там-нужно.
Или можно исполняться прямо в стеке.
Вариантов - масса.
Страницы: 1 вся ветка
Текущий архив: 2003.05.08;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.01 c