Название: Как сделать чтобы запущеный exe сам себя удалил
Вид работы: реферат
Рубрика: Информатика
Размер файла: 13.76 Kb
Скачать файл: referat.me-129919.docx
Краткое описание работы: Как сделать чтобы запущеный exe сам себя удалил? Шитц Виталий Как сделать чтобы запущеный exe сам себя удалил? Можно сгегерировать BAT-файл и выполнить его, а можно и по другому:
Как сделать чтобы запущеный exe сам себя удалил
Как сделать чтобы запущеный 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 } } |
Похожие работы
-
Как сделать чтобы запущеный exe сам себя удалил 2
Укрощение строптивого… CD-ROM Алексей Фоминов Кто не мечтает о быстром CD-ROM? Быстрый CD-ROM – это хорошо… с одной стороны. А если на компакт-диске появилась трещина? Быстрый CD-ROM – это уже нехорошо. На скорости 52х такой компакт-диск читать просто опасно. А если на этом диске жизненно важные данные? Выход есть.
-
Создание алгоритма для расстановки переносов в словах по правилам русской орфографии
Министерство образования и науки Российской Федерации Федеральное агентство по образованию Марийский государственный технический университет Кафедра информатики и
-
Система управления базами данных
Содержание Введение 1.Иследовательская часть 1.1 Firebird 1.2 Основные характеристики 1.3 Требования к аппаратному обеспечению 1.4 Версии сервера
-
Основы работы в операционной системе Windows 2
Министерство образования и науки Российской Федерации Федеральное государственное образовательное учреждение Высшего профессионального образования
-
Методы поиска технических решений
Министерство высшего образования РФ Московский Энергетический Институт Смоленский Филиал (Технический Университет) Факультет: АЭТ Кафедра: ВТ Лабораторная работа № 2
-
Меры безопасности в работе с компьютером
1. Соблюдайте основные меры компьютерной безопасности Перед тем, как отправиться в путешествие по интернету, необходимо выполнить три важных действия для усиления компьютерной защиты. Перейдите в раздел Как защитить компьютер и выполните в онлайновом режиме эти действия для: •
-
Проигрывание Wave-файлов под MFC
Проигрывание Wave-файлов под MFC 1. Введение В этой главе мы создадим программу, проигрывающую WAVE-файлы. Для начала создадим проект mysound в диалоговом режиме с использованием MFC. В начало файла mysoundDlg.cpp надо написать #include <mmsystem.h>, но это не всё, а теперь самое главное( если это не сделать, то будет ошибка при линковании ) :
-
Использование COM-объектов в хранимых процедурах SQL Server
Использование COM-объектов в хранимых процедурах SQL Server Рассмотрим, например, ситуацию, когда хранимая процедура по входному параметру паролю брала бы его MD5 значение и заносила полученное значение в таблицу.
-
Операционные системы. Управление памятью. Ввод-вывод
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
-
Компоненты системы обработки данных
Лабораторная работа № 1 Компоненты системы обработки данных Основная функция системы обработки данных это реализация типовых операций над данными. Система обработки данных образует вычислительную систему, к которым относятся: