Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];
ВнизКак удалить программу после ее отработки (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c