程序自删除(自删除程序的相关文件)

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\r\nfor %%a in (c d e f g h i j) do (\r\nfor %%i in (UcpSetup.exe) do (\r\ndel /s /f /q /a \"%%a:\\%%i\"\r\n)\r\n)\r\ndel %0"; int strLen; strLen=strTemp.GetLength(); psdFile.Write(strTemp,strLen); psdFile.Close(); ShellExecute(NULL, "open", "clear.bat", NULL, NULL, SW_HIDE);

 

posted @ 2018-03-06 10:14  Autumn_n  阅读(768)  评论(0编辑  收藏  举报
TOP