void CDelselfDlg::OnDel()
{
// TODO: Add your control notification handler code here
TCHAR ExeFilePath[256];//定义文件路径缓冲区
strcpy(ExeFilePath,__argv[0]); //获取文件路径,
CStdioFile *pFile;
pFile=new CStdioFile();
pFile->Open("delself.bat",CFile::modeCreate|CFile::modeReadWrite,NULL);
CString tmp="";
//////////写删除文件的bat文件/////////
tmp=":TRYDEL";
tmp+="/r/n";
tmp+="del ";
tmp+=ExeFilePath;
//////以下三行是一直尝试删除delself.exe文件//////
tmp+="if exist ";
tmp+=ExeFilePath;
tmp+=" goto TRYDEL";
tmp+="/r/n";
///////下面是删除delself.bat文件自己,因为bat文件是允许在运行过程中删除自身的///////
tmp+="del delself.bat";
tmp+="/r/n";
tmp+="exit";///退出命令行提示符
pFile->WriteString(tmp);//写入bat文件
pFile->Close();//关闭文件,
::WinExec("delself.bat",SW_HIDE);//运行生成的bat文件///
exit(0);//退出,等待bat来删除自己
}
{
// TODO: Add your control notification handler code here
TCHAR ExeFilePath[256];//定义文件路径缓冲区
strcpy(ExeFilePath,__argv[0]); //获取文件路径,
CStdioFile *pFile;
pFile=new CStdioFile();
pFile->Open("delself.bat",CFile::modeCreate|CFile::modeReadWrite,NULL);
CString tmp="";
//////////写删除文件的bat文件/////////
tmp=":TRYDEL";
tmp+="/r/n";
tmp+="del ";
tmp+=ExeFilePath;
//////以下三行是一直尝试删除delself.exe文件//////
tmp+="if exist ";
tmp+=ExeFilePath;
tmp+=" goto TRYDEL";
tmp+="/r/n";
///////下面是删除delself.bat文件自己,因为bat文件是允许在运行过程中删除自身的///////
tmp+="del delself.bat";
tmp+="/r/n";
tmp+="exit";///退出命令行提示符
pFile->WriteString(tmp);//写入bat文件
pFile->Close();//关闭文件,
::WinExec("delself.bat",SW_HIDE);//运行生成的bat文件///
exit(0);//退出,等待bat来删除自己
}