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

Вниз

Господа!!! Как сделать чтобы прога сама себя удалила после выполнения   Найти похожие ветки 

 
RUS1   (2002-02-05 12:25) [0]

Господа!!! Как сделать чтобы прога сама себя удалила после выполнения


 
Виктор Щербаков   (2002-02-05 12:31) [1]

Парадокс.


 
Yakudza   (2002-02-05 12:34) [2]

Написать другую прогу которая ее удаляет :)


 
alex_R   (2002-02-05 12:50) [3]

Выполнить bat файл, в котором сначала запустить, а потом удалить ее


 
Дремучий   (2002-02-05 13:06) [4]

вопрос из ФАК


 
Song   (2002-02-05 13:52) [5]

Создаёшь батник в котором пишешь
pause
del твоя_пага

а из паги пишешь ShellExecute(...,PChar(батник)...);
Form1.Close;

всё


 
AlexanderSK   (2002-02-05 14:45) [6]

А "Form1.Close;" то тут причем?


 
Pat   (2002-02-05 17:00) [7]

После всех этих батников в списке процессов остается Winoldap. И сколько я запусукаю прогу, добвляется еще один Winoldap. Как от этого избавиться?


 
AlexanderSK   (2002-02-05 17:54) [8]

"Winoldap" очевидно название твоей программы?
Если это так и если ты последовал "МУДРОМУ" совету Song-а, то ничего странного в этом нет!
Form1.Close; - Всего лишь приячет форму с экрана (попутно пытаясь удалить соответствующий объект!), а твое приложение так и остаеться висеть! Так что... надо больше следовать "мудрым" советам "мудрых" товарищей и еще ни текой глюк словиш!...

Короче вместо Form1.Close; нужно писать Application.Terminate; - Воэ это метод и завершит работу твоего приложения!


 
BlankAlex   (2002-02-05 18:00) [9]

Записываешь имя своей проги в реестр в ключ RunOnce


 
Pat   (2002-02-05 18:28) [10]

>AlexanderSK
Моя прога называется kamikadze :-))
Делаю следующее:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var f:textfile;
begin
assignfile(f,"kill.bat");
rewrite(f);
writeln(f,"del kamikadze.exe");
writeln(f,"del kill.bat");
closefile(f);
application.terminate; //все равно не помогает
winexec("kill.bat",sw_hide);
end;

А Winoldap все равно остается...:-((


 
AlexanderSK   (2002-02-06 11:23) [11]

winexec("kill.bat",sw_hide); - Выполняться НЕ будет!


 
Pat   (2002-02-06 12:09) [12]

>AlexanderSK
Да все нормально выполняется. Меня "мусор" ввиде Winoldap интересует...
Кстати, почему winexec("kill.bat",sw_hide); не должен выполняться?


 
Rem   (2002-02-06 13:03) [13]

>AlexanderSK
Если Form1 - главная форма программы, то при Form1.Close
приложение заканчивает работу. Именно это имел в виду Song,
на которого Вы так "по-товарищески" наехали.
>AlexanderSK
WinExec("kill.bat", SW_HIDE); - выполняется, так что еще
не понятно кто "мудрый"?


 
MadBurro   (2002-02-06 23:31) [14]

Vot kod. Rabotajet na Win9.X, proverial

program delself;

uses
windows;

procedure DeleteSelf;
var hModule:THandle;
szModuleName:array[0..MAX_PATH] of char;
hKrnl32 : THandle;
pExitProcess, pDeleteFile, pFreeLibrary,pUnmapViewOfFile : pointer;
ExitCode:UINT;
begin
hModule:= GetModuleHandle(nil);

GetModuleFileName(hModule, szModuleName, sizeof(szModuleName));


hKrnl32 := GetModuleHandle ( "kernel32" );
pExitProcess := GetProcAddress ( hKrnl32, "ExitProcess" );
pDeleteFile := GetProcAddress ( hKrnl32, "DeleteFileA" );
pFreeLibrary := GetProcAddress ( hKrnl32, "FreeLibrary" );
pUnmapViewOfFile := GetProcAddress ( hKrnl32, "UnmapViewOfFile" );

ExitCode := system.ExitCode;

if($80000000 and GetVersion())<>0 then
// Win95, 98, Me
asm

lea eax, szModuleName
push ExitCode
push 0
push eax
push pExitProcess
push hModule
push pDeleteFile
push pFreeLibrary
ret
end
else
begin
CloseHandle(THANDLE(4));

asm
lea eax, szModuleName
push ExitCode
push 0
push eax
push pExitProcess
push hModule
push pDeleteFile
push pUnmapViewOfFile
ret
end
end
end;

begin
DeleteSelf;
end.



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

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

Наверх




Память: 0.5 MB
Время: 0.01 c
3-2492
Dmitry V. Averuanov
2002-04-08 18:33
2002.05.02
Нужно


1-2501
Serguar
2002-04-18 13:38
2002.05.02
Работа с перечислимыми типами


3-2475
Stif
2002-04-11 10:44
2002.05.02
Быстрый подсчёт суммы чисел столбца. Есть 2 кода, медл. и быстрый


4-2719
sdan
2002-02-28 17:38
2002.05.02
API


3-2491
Скалли
2002-04-11 13:53
2002.05.02
Подход к сложной выборке