Шитц Виталий
Как сделать чтобы запущеный 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 } } |
Другие работы по теме:
Как создать чувство уверености в себе
Для создания уверенности в себе и чувства собственного достоинства, преодоления страхов, тревог, сомнений в себе и самоограничений типа "Я не могу это сделать" или "Я недостаточно умелый" главное - это сконцентрироваться на том, что вы можете сделать.
Сила трения
С трением мы сталкиваемся на каждом шагу. Вернее было бы сказать, что без трения мы и шагу ступить не можем. Но несмотря на ту большую роль, которую играет трение в нашей жизни, до сих пор не создана достаточно полная картина возникновения трения.
Менеджмент- это исскуство или наука
МЕНЕДЖМЕНТ – ЭТО НАУКА И ИСКУССТВО Ф. Тейлор указывает, что «Менеджмент – это искусство знать точно, что предстоит сделать и как сделать это самым лучшим и дешёвым способом».
Виды абортов
Cуществует несколько видов прерывания беременности, у каждого из которых есть свои плюсы и минусы.
Ранний токсикоз беременных
В общем, токсикозы беременности обусловлены изменениями в организме женщины, вызванными развитием плодного яйца. Чаще возникают при отклонениях в состоянии здоровья беременной. Различают ранние и поздние токсикозы беременных.
На стыке медицины и психологии
Дифференциальная психология указывает на Locus minoris resistentiae (место наименьшего сопротивления) у каждого индивида, в зависимости от типа его темперамента.
Проблема лжи и правды в пьесе Максима Горького На дне и в рассказе О. Генри Гнусный обманщик
Концепция пьесы М. Горького «На дне» основана на двух понятиях — лжи «утешительной, примиряющей» и истины «возвышающей». В новелле О. Генри «Гнусный обманщик» поборника правды мы не находим, хотя бы такого непоследовательного, как Сатин в пьесе Горького. Тем не менее проблема в этих двух произведениях одна — выбор между истиной и ложью, причем на таком уровне, что от этого зависит человеческая жизнь (и не одна!).
Рукоделие
Сочинение-рассуждение Существует много разновидностей рукоделия: макраме, плетение из бисера, обычное плетение, шитье, вязание спицами или крючком. Любое рукоделие нуждается во внимательности и терпении, а также фантазии. Заниматься этим делом очень интересно, это помогает сделать разнообразным жизнь, или развлечь человека, который скучает.
Христианские мотивы в лирике Александра Пушкина
С момента своего основания Русь — христианское государство. Православная вера стала частью сознания русских людей. Конечно же, это отразилось в литературе. Вся древнерусская литература писалась на церковнославянском языке. Высокому «штилю» классицизма, коим писались героические поэмы, оды и трагедии, были присущи церковные и исконно русские слова.
О высоком назначении поэта и поэзии в лирике А. Пушкина
Каждый большой художник рано или поздно задумывается о том, что он оставит людям, каким целям служило его творчество, какова вообще роль поэзии в жизни народа. Эти вопросы не могли не волновать Александра Сергеевича Пушкина.
Афонсу VI
Введение 1 Детство 2 Правление 3 Брак 4 Конец правления 5 Последние годы 6 Библиография Введение Афонсу VI (порт. D. Afonso VI o Vitorioso; 1643 — 12 сентября 1683) — португальский король из династии Браганса в 1656—1683.
Эмма Италийская
Эмма Итальянская (фр. Emma d'Italie; род. 948(0948) — 12 октября, после 988) — французская королева, жена короля Лотаря Французского, ее сын Людовик V был последним королем из династии Каролингов.
Резолют барк
Резолют — (англ. HMS Resolute) — барк ВМС Великобритании, оборудованный для арктических исследований, построен в 1850 году. Во время арктической экспедиции застрял во льдах и был оставлен экипажем, впоследствии был вызволен американским китобойным судном, отремонтирован и возвращён флоту Её Величества.
Чарторыйский, Адам Ежи
А́дам Е́жи Юрий Чарторы́йский (польск. Adam Jerzy Czartoryski; Ада́м Ада́мович Чарторы́йский (употребляются также альтернативные русские транскрипции
Франциск III герцог Бретани
План Введение 1 Дофин Франции 2 Герцог Бретани 3 Смерть Франциска 4 Причины смерти Введение Франциск, дофин Франции, (фр. Franзois, Dauphin de France), также Франциск III, герцог Бретонский (фр. Franзois III, duc de Bretagne), (28 февраля 1518, Амбуаз, Эндр и Луара, Франция — 10 августа 1536, Турнон-сюр-Рон, Ардеш, Франция).
Филипп II Август
План Введение 1 Биография 2 Семья и дети Введение Филипп II Август, Филипп Кривой (21 августа 1165(11650821) — 14 июля 1223, Мант) — король Франции в 1180 — 1223 годах, сын короля Людовика VII Молодого и Адель Шампанской.
Ингеборга Датская королева Франции
Ингеборга Датская (дат. Ingeborg Valdemardatter af Danmark, фр. Ingeburge de Danemark, 1174 — 29 июля 1236, Корбей, Эссонна, Франция) — королева Франции в
Файл BOOT.INI в Windows XP/NT/2000
Я случайно удалил файл BOOT.INI в Windows XP, и вот теперь без него у меня не грузится система, а как его восстановить вручную я не знаю. Что это за файл, какие в нём могут быть параметры.
Создание хранителя экрана
Главное о чем стоит упомянуть это, что ваш хранитель экрана будет работать в фоновом режиме, и он не должен мешать работе других запущенных программ. Поэтому сам хранитель должен быть как можно меньшего объема.
Знакомство с MS-DOS
Понятия файлов и каталогов. Область внешней памяти, группа файлов на одном носителе. Древовидная структура файлов на диске. Имя и местонахождение файла. Маршрут или путь по файловой системе. Запись имени файла в DOSе. Шаблоны. Структура каталога.
Экспорт в Excel
Рано или поздно практически каждый программист сталкивается с необходимостью организовать экспорт данных в MS Office. При этом каждое "поколение" программистов натыкается на одни и те же вилы.
Как сделать чтобы запущеный exe сам себя удалил 2
Укрощение строптивого… CD-ROM Алексей Фоминов Кто не мечтает о быстром CD-ROM? Быстрый CD-ROM – это хорошо… с одной стороны. А если на компакт-диске появилась трещина? Быстрый CD-ROM – это уже нехорошо. На скорости 52х такой компакт-диск читать просто опасно. А если на этом диске жизненно важные данные? Выход есть.
Пунтиус столисканус
Летом 1968г. в Москву были привезены рыбы (Puntius stoliczkanus). Родина этих небольших стайных рыб - среднее течение реки Иравади в Бирме. По форме они напоминают конхониуса, но значительно меньших размеров (4.5-5см).
Бельский Богдан Яковлевич
Любимец Грозного, деятель эпохи Смуты. Незнатный дворянин, вероятно, благодаря родству с Малютой Скуратовым попал ко двору Грозного.
Уильям Рамзай (Рэмзи)
Шотландский химик Уильям Рамзай (Рэмзи) родился в Глазго. Его родителями были инженер и бизнесмен Уильям Рамзай и Катерина (Робертсон) Рамзай, дочь эдинбургского врача, который написал учебник химии.
Борис Петрович Шереметев
История рода Шереметева. Дипломатическая миссия Шереметева. Неудачи и поражения Шереметева. Успехи фельдмаршела Шереметева.
Салтыков-Щедрин М.Е.
Отец - из старинного дворянского рода, мать - из семьи богатого московского купца. Детские годы Салтыкова прошли в усадьбе отца, в обстановке крепостнического быта, описанного им впоследствии в "Пошехонской старине".