Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];

Вниз

????Ребят, как удалять 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
1-23085
Shuric
2003-04-24 22:09
2003.05.08
GetTickCount


1-23065
Intell
2003-04-25 10:07
2003.05.08
Компонент или прога для вытягивания *.swf из EXE.


14-23400
Vlad Oshin
2003-04-16 10:13
2003.05.08
Прошу помощи. Проверте пожалуйста ссылку. У меня таймаут


3-22989
Andy Verinov
2003-04-17 00:09
2003.05.08
Вешается BDE от большого числа запросов?


1-23214
Lexer
2003-04-25 11:38
2003.05.08
Как поместить свою иконку в MessageDlg?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский