首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CreateProcess创建了一个文件,如何老删不掉

2012-04-09 
CreateProcess创建了一个文件,怎么老删不掉char cmdline[200]CString tmp,stredit2stredit2 adb devi

CreateProcess创建了一个文件,怎么老删不掉
char cmdline[200]; 
CString tmp,stredit2;
stredit2 = "adb devices >.//Mylog12.txt";
tmp.Format("cmd /c %s",stredit2);
sprintf(cmdline,"%s",tmp);

if (!CreateProcess(NULL,cmdline,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) //创建子进程
{
AfxMessageBox("CreateProcess Failed!");  
return ;
}
if(fclose(fp) == 0)
MessageBox("关闭成功!");
if(DeleteFile(".//Mylog12.txt") != 0)
MessageBox("删除成功!");

删除说被另一个进程占用,这个怎么搞啊.谢了!

[解决办法]
你做的太快的,稍微等待一会,那个程序还没有执行完成呢。
尤其是单CPU的系统,那个进程要等几十上百ms才可能开始执行,这段时间C程序早执行很多行了。

WaitForSingleObject(pi.hProcess, INFINITE); //等待进程结束

CloseHandle(pi.hThread); //一定要先关闭句柄
CloseHandle(pi.hProcess);

//再删除文件……


热点排行