Категория
Информатика
Тип
реферат
Страницы
2 стр.
Дата
21.01.2009
Формат файла
.rtf — Rich Text Format (Wordpad)
Архив
20746.zip — 3.55 kb
  • kak-sdelat-chtoby-zapushhenyj-exe-sam-sebja-udalil_20746_1.rtf — 13.14 Kb
  • Readme_docus.me.txt — 125 Bytes
Рейтинг
10  из 10
Оценок
1
Оцените работу
Хорошо  или  Плохо


Текст работы

Как сделать чтобы запущеный exe сам себя удалил Alena Alena
Как сделать
чтобы запущеный exe сам себя удалил?
Шитц Виталий
Как сделать чтобы запущеный exe сам себя удалил? Можно сгегерировать BAT-файл и выполнить его,
а можно и по другому:
Этот код требует, чтобы была определена переменная окружения COMSPEC, работает на всех ОС Windows.\
После вызова функции нужно немедленно выходить из программы, иначе не сработает.
Автор Tony Varnas.
BOOL SelfDelete()
TCHAR szFile[MAX_PATH], szCmd[MAX_PATH];
if((GetModuleFileName(0,szFile,MAX_PATH)!=0) &&
(GetShortPathName(szFile,szFile,MAX_PATH)!=0))
lstrcpy(szCmd,"/c del ");
lstrcat(szCmd,szFile);
lstrcat(szCmd," >> NUL");
if((GetEnvironmentVariable("ComSpec",szFile,MAX_PATH)!=0) &&
((INT)ShellExecute(0,0,szFile,szCmd,0,SW_HIDE)>32))
return TRUE;
return FALSE;
Следующий код работает только под NT, автор Gary Nebbett:
include
int main(int argc, char *argv[])
char buf[MAX_PATH];
HMODULE module;
module = GetModuleHandle(0);
GetModuleFileName(module, buf, MAX_PATH);
CloseHandle((HANDLE)4);
__asm
lea eax, buf
push 0
push 0
push eax
push ExitProcess
push module
push DeleteFile
push UnmapViewOfFile
ret
return 0;
Ну
а это – вариант предыдущего, но под Win9x, автор Tony Varnas.
int main(int argc, char *argv[])
char buf[MAX_PATH];
HMODULE module;
module = GetModuleHandle(0);
GetModuleFileName(module, buf, MAX_PATH);
__asm
lea eax, buf
push 0
push 0
push eax
push ExitProcess



Ваше мнение



CAPTCHA