Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.017 c
6-23255
Spider-Lex
2003-03-13 08:17
2003.05.08
IP Adress


3-23013
VadimS
2003-04-18 09:32
2003.05.08
Изменение значения поля


14-23336
Шоломицкий
2003-04-08 16:19
2003.05.08
Загрузить txt файл в Tmemo


1-23227
AlexKost
2003-04-25 14:59
2003.05.08
TMethod


1-23091
Black
2003-04-26 13:35
2003.05.08
Мой компьютер в OpenDialog1




   Наверх