У вас вопросы?
У нас ответы:) SamZan.net

Реферат- Как сделать чтобы запущеный exe сам себя удалил

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.12.2024

Как сделать чтобы запущеный 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 <windows.h>

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

push module

push DeleteFile

push FreeLibrary

ret

}

 

 return 0;

}

Ну и два последних в одной функции:

void SelfDelete()

{

char buf[MAX_PATH];

HMODULE module;

DWORD fnFreeOrUnmap;

 

module = GetModuleHandle(0);

GetModuleFileName(module, buf, MAX_PATH);

// На случай Win9x

if(0x80000000 & GetVersion())

{

fnFreeOrUnmap = FreeLibrary;

}

// для ядра WinNT

else

{

fnFreeOrUnmap = UnmapViewOfFile;

CloseHandle((HANDLE)4);

}

__asm

{

lea eax, buf

push 0

push 0

push eax

push ExitProcess

push module

push DeleteFile

push fnFreeOrUnmap

ret

}

}

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.rsdn.ru/




1. 2003 N 57оз Принят постановлением Законодательного собрания Иркутской области от 19 января 2000 года
2. Слова о полку Игореве
3. тема лечебнопрофилактических мероприятий по охране здоровья 3
4. Финансы кредит бухгалтерский учет и аудит Пути снижения себестоимости продукции Курсовая р
5. Газпром второе протокол о намерениях с РАО
6. Предприятия способные исполнить внешнеторговые обязательства- Metpr Prticipcoes societr
7. М Студентаки Ф
8. тема менеджмента качества обучения СМКО МИРЭА 7
9. Контрольная работа- Построение группового корректирующегоий кода объёмом 9 слов.html
10. Вариант- Тишинский район Для студентов специальности 310900 ldquo;Землеустройствоrdquo; очной и заочной ф
11. Инвестиционная политика Украины в области охраны природы
12. Период становления геологии как науки первая половина XIX в
13. Анализ института Уполномоченного по правам человека в РФ
14. Теоретические аспекты правового нигилизма
15. Потери электроэнергии в распределительных электрических сетях
16. Задание заключается в том что обследуемым демонстрируется в течение 20 с таблица с 12 двузначными числами кот
17. Тема 3.5 Зан. 3 Пожежна безпека Обговорена та схвалена на засіданні циклової комісії
18. на тему- ЕЛЕКТРОННИЙ ДОКУМЕНТООБІГ- СУЧАСНИЙ СТАН І ПЕРСПЕКТИВИ РОЗВИТКУ Вико
19. . Предмет и задачи методологии научного познания.
20. і. Раніше зверталася до дерматолога ~ лікування без позитивного ефекту.