Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.14;
Скачать: CL | DM;

Вниз

Как удалить программу после ее отработки (UnInstall.exe)   Найти похожие ветки 

 
VS2001   (2002-12-09 07:25) [0]

Помогите сделать указанное в теме. Нужно для программы ДеИнсталлятора, чтобы удалялась после завершения работы.


 
SPeller ©   (2002-12-09 13:36) [1]

Точно ошибся... Ну какое это имеет отношение к КОЛ ?


 
VS2001   (2002-12-09 14:34) [2]

Какое? А как мне можно удалить файл вообще.
Если использовать TSearchRec - то он ругается на необъявленный идентификутор = TSearchec.


 
BorisMor ©   (2002-12-09 15:03) [3]

Ну, тогда не совсем понятен вопрос.
Надо самоудаление сделать ?
Делайте *.bat (del.bat) в котором и делается удаление

UnInstall.exe
del UnInstall.exe /Q
del del.bat /Q

и запускае del.bat


 
alex_s   (2002-12-12 04:08) [4]

Под 2000 и XP работает, а более я нигде
не проверял.

unit selfkill;

interface
uses windows;

procedure killself;

implementation

procedure killself;
var
module : HMODULE;
buf : array[0..MAX_PATH] of CHAR;
plong : ULONG;
begin

module := GetModuleHandle(nil);
GetModuleFileName(module, buf, sizeof(buf));
CloseHandle(4);
( module) Под 2000 и XP работает, а более я нигде
не проверял.

unit selfkill;

interface
uses windows;

procedure killself;

implementation

procedure killself;
var
module : HMODULE;
buf : array[0..MAX_PATH] of CHAR;
plong : ULONG;
begin

module := GetModuleHandle(nil);
GetModuleFileName(module, buf, sizeof(buf));
CloseHandle(4);
plong := ULONG(module) + 1;

asm
lea eax, buf
push 0
push 0
push eax
mov esi, offset ExitProcess + 2
mov esi, [esi]
mov esi, [esi]
push esi
push [plong]
mov esi, offset DeleteFile + 2
mov esi, [esi]
mov esi, [esi]
push esi
mov esi, offset FreeLibrary + 2
mov esi, [esi]
mov esi, [esi]
push esi
ret
end;
end;

end.





Страницы: 1 вся ветка

Текущий архив: 2003.08.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
14-45004
AlexRush
2003-07-28 16:44
2003.08.14
dcc32, ObjectPascal (6) - языково-компиляторные концепции...


14-45102
Sasha_M
2003-06-12 11:11
2003.08.14
Как, зная ID процесса, получить адрес в памяти, и пропатчить


14-45126
MetalFan
2003-07-30 13:05
2003.08.14
снова про автозапуск


14-45066
iXuSs
2003-07-26 22:16
2003.08.14
Глюк в форуме.


14-45038
SPeller
2003-07-27 10:33
2003.08.14
Восстановить раздел