1、在程序中删除当前程序exe文件所在文件夹的相关文件
SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL); SHChangeNotify(SHCNE_DELETE, SHCNF_PATH, _pgmptr, NULL); char szCommandLine[MAX_PATH] = {0}; sprintf(szCommandLine, "/c ping 127.0.0.1 -n 1 && del /f/q "%s"", _pgmptr); ShellExecute(NULL, "open", "cmd.exe", szCommandLine, NULL, SW_HIDE); CFileFind finder; CString strPath="./*.*"; //*.*表示当前文件夹下的所有文件 BOOL bWorking=finder.FindFile(strPath); while(bWorking) { bWorking=finder.FindNextFile(); DeleteFile(finder.GetFilePath()); } finder.Close();
ExitProcess(0);
2、在本机的C、D、E盘等本地磁盘中查找并删除程序安装文件
CFile psdFile; psdFile.Open("clear.bat",CFile::modeCreate|CFile::modeReadWrite);
//程序名(UcpSetup.exe,abc.exe,123.exe) CString strTemp="@echo off for %%a in (c d e f g h i j) do ( for %%i in (UcpSetup.exe) do ( del /s /f /q /a "%%a:\%%i" ) ) del %0"; int strLen; strLen=strTemp.GetLength(); psdFile.Write(strTemp,strLen); psdFile.Close(); ShellExecute(NULL, "open", "clear.bat", NULL, NULL, SW_HIDE);