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

Вниз

Удаление *.exe файла во время его работы   Найти похожие ветки 

 
Hawk ©   (2002-10-05 13:53) [0]

Народ вообще в win32 возможен сабж?
Тоесть чтобы программа сама себя удалила.

Зарание спасибо.


 
Карлсон ©   (2002-10-05 14:06) [1]

насколько я помню, во время выполнения программы ее удалить нельзя.
но можно создать ключ в реестре и при следующей загрузке прога будет удалена командой из реестра :)
или в реестре нужно создать ключ на запуск bat файла, где будет прописано, какую прогу удалить.


 
Hawk ©   (2002-10-05 14:09) [2]

насколько я знаю во время выполнения программы она полностью сидит в памяти а на сам .exe файл накладывается какой то атрибут чтобы нельзя было удалять... или я не прав? кто - знает помогите!


 
Pat ©   (2002-10-05 15:41) [3]

Для Win9x (не мое)

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;


Или можно через bat файл, но это не во время работы программы :-)) А результат тот же :)


 
Song ©   (2002-10-05 17:41) [4]

Делают bat файл в который записывают цикл удалять файл пока он не удалится.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
7-45610
YDV
2002-08-01 08:00
2002.10.14
Как средствами DELPHIпроверить отвечает ли программа на системные


1-45434
zje
2002-10-03 15:04
2002.10.14
Как можно достать все иконы из dll или exe файла?


14-45568
Mirovodin
2002-09-20 10:59
2002.10.14
Кто какими экспертами пользуется ?


1-45334
eruc
2002-10-05 16:26
2002.10.14
CapsLock


1-45341
nikolab6
2002-10-05 19:07
2002.10.14
TreeView/TreeNode Color.