VC 执行cmd dos命令时 无法删除目录 和自身,自己手动打开生成的cmd 时删除成功

生成的cmd文件内容rd.aa\Datadel.aa\uninst.exerd.\aadeldele.cmdWinExec(strMyDir,SW_SHOW);//cmd... 生成的 cmd文件内容
rd .aa\Data
del .aa\uninst.exe
rd .\aa
del dele.cmd

WinExec(strMyDir,SW_SHOW); //cmd 执行了 看到执行界面了 但是没有删除
ShellExecute(NULL,"open",strMyDir,NULL,NULL,SW_SHOW); // 这个函数 一样
cmd 执行了 看到执行界面了 但是没有删除 ,自己手动打开生成的cmd 可以删除 都很OK , 求大神 解救
要删除的目录 都是空目录
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
bhtzu
推荐于2016-06-26 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4270万
展开全部
任何一个可执行文件(exe)在执行过程中,是无法删除文件和文件所在目录的,因为文件还在执行中,有内存占用,删除请求不会被操作系统允许。
标准卸载删除,都是使用win下的卸载程序,该程序不在程序安装目录下。

你的程序,变通的实现办法:
抛出执行批处理文件后,uninst.exe文件立刻退出(不等待执行返回),.bat批处理文件中,先通过call :delay 1000这样的语句产生延时,之后再执行删除,应该就没有问题了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浙江启扬智能科技有限公司
2023-06-12 广告
不一定,ARM架构的嵌入式开发可以基于uc/os、Linux、Windows等操作系统,而不一定要使用LINUX操作系统。在ARM架构上,Windows和Linux都是可以使用的,而且许多嵌入式系统开发工具也都是支持这两种操作系统的。因此,... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
why755
2015-01-19 · TA获得超过311个赞
知道小有建树答主
回答量:624
采纳率:75%
帮助的人:348万
展开全部
通过API删除了。
执行这个可能是因为你当前的程序正在运行,系统锁定了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式