您好,登錄后才能下訂單哦!
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"); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。