Как сделать чтобы запущеный 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 } } |
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.