/* 删除临时生成的文件 */
/************************************************************************/
void DeleteDirectory()
{
/*char szPath[MAX_PATH] = {0};
SHGetFolderPathA(NULL,
CSIDL_APPDATA,
NULL,
0,
szPath);*/
wstring wstrFile = GetExeDir();
CString strCurFile = CW2A(wstrFile.c_str());
strCurFile += "\\epbtmp";
SHFILEOPSTRUCTA FileOp;
ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));
FileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION;
FileOp.hNameMappings = NULL;
FileOp.hwnd = NULL;
FileOp.lpszProgressTitle = NULL;
FileOp.pFrom = strCurFile;
FileOp.pTo = NULL;
FileOp.wFunc = FO_DELETE;
SHFileOperationA(&FileOp); // 对于父级目录存在空格的路径好像还有问题
}
cmd:
system("d: & cd d:\\d\\");
WinExec("cmd /k rd /s /q d:\\d\\ & exit", SW_HIDE);
ShellExecute(NULL,"open","cmd","/k dir & exit",NULL,SW_HIDE);
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemery(&si, sizeof(STARTUPINFO));
ZeroMemery(&pi, sizeof(PROCESS_INFORMATION));
GetStartupInfo(&si);
si.cb=sizeof(STARTUPINFO);
//si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
//si.wShowWindow=SW_HIDE;
CreateProcess(NULL,"cmd /k regedit & exit",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi);
CreateProcess(cmd ,"/k regedit & exit",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi);