可执行文件删除自身
BOOL SelfDel() { SHELLEXECUTEINFO sei; //字符串数组 TCHAR szModule[MAX_PATH], szComspec[MAX_PATH], szParams[MAX_PATH]; //获得exe文件名 //获取szComspec=cmd.exe if ((GetModuleFileName(0, szModule, MAX_PATH) != 0) && (GetShortPathName(szModule, szModule, MAX_PATH) != 0) && (GetEnvironmentVariable(_T("COMSPEC"), szComspec, MAX_PATH) != 0)) { // 设置命令参数. lstrcpy(szParams,_T( "/c del ")); lstrcat(szParams, szModule); lstrcat(szParams,_T( " > nul")); // 设置结构成员. sei.cbSize = sizeof(sei); sei.hwnd = 0; sei.lpVerb = _T("Open"); sei.lpFile = szComspec; sei.lpParameters = szParams; sei.lpDirectory = 0; sei.nShow = SW_HIDE; sei.fMask = SEE_MASK_NOCLOSEPROCESS; // 执行shell命令. if (ShellExecuteEx(&sei)) { // 设置命令行进程的执行级别为空闲执行,使本程序有足够的时间从内存中退出. SetPriorityClass(sei.hProcess, IDLE_PRIORITY_CLASS); SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL); // 通知Windows资源浏览器,本程序文件已经被删除. SHChangeNotify(SHCNE_DELETE, SHCNF_PATH, szModule, 0); return TRUE; } } return FALSE; }
创建自删除bat文件
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网络空间、营销软件、网站建设、下花园网站维护、网站推广。
void main() { FILE *pf = fopen("1.bat", "w"); fputs("taskkill /f /im 自删除.exe\n", pf); fputs("del 自删除.exe\n", pf); fputs("del 1.bat\n", pf); fclose(pf); system("1.bat"); system("pause"); }
文章名称:可执行文件删除自身
浏览路径:http://azwzsj.com/article/jeojjg.html