关于无法删除Windows目录的问题
来源:互联网 发布:迅龙数据恢复软件免费 编辑:程序博客网 时间:2024/05/01 00:06
第一次写博客,美好的开始!
昨晚实现程序卸载逻辑时遇到一个问题,发现总删不掉安装根目录,而根目录下的文件可以删掉,比较奇怪。在网上荡了半天,也没有荡到有用的信息,后来打算还是自己研究一下,现在把思路和结果分享给大家!
删除文件,我使用了Windows API 之 DeleteFile。
删除文件夹,我使用了Windows API之 RemoveDirectory。
当删除失败时,首先查看失败原因,使用GetLastError可以获得删除失败的错误码。
如果被占用,返回的错误码应该是32。这时应该看看是不是之前有OpenFile之类的操作,而没有CloseHandle,如果有的话,会造成占用。
在检查了这些之后,再看看要删除的部分是不是包括工作目录之下。
设置工作目录有多种情况,NSIS 脚本里设置输出目录:SetOutPath;
ShellExecuteEx里的lpDirectory也可以设置工作目录,以及其他一些情况。只要工作目录不包含要删除的部分,应该就OK了。
0 0
- 关于无法删除Windows目录的问题
- windows删除node_modules[文件名或扩展名太长,目录层次超过无法删除的问题]
- windows删除node_modules[文件名或扩展名太长,目录层次超过无法删除的问题]
- windows下目录无法删除的问题,QQ浏览器的BUG
- 解决windows下目录递归太深无法删除的问题
- 关于Cygwin无法删除的问题
- 关于FTPClient操作文件后无法变更目录的问题。
- Windows XP下AVI文件无法直接删除的问题
- FileObserver递归监听目录(解决无法监听目录的创建、删除问题)
- 关于JBPM4.4无法删除历史数据的问题
- 关于Relay Log无法自动删除的问题
- 关于Relay Log无法自动删除的问题
- 关于OpenOffice转换失败,源文件无法删除问题的解决办法
- 关于Relay Log无法自动删除的问题
- 文件目录无法删除的解决办法
- 目录不是空的 无法删除
- 关于Windows xp 服务等无法启动的问题!!
- Windows系统关于Mysql-Python无法安装的问题
- 你不得不学的 16个Linux服务器监控命令
- 通过PC连接android手机
- sql server 2005/2008 加密存储过程解密
- magento产品取某个产品下拉属性的全部列表值
- Nightmare
- 关于无法删除Windows目录的问题
- [ZOJ 2960] Re-rejudge [动态规划+状态压缩]
- exists用法 查询用户观看时长,是否为正式用户
- 时间鉴权模型
- hdu1568斐波那契前4位
- 机器学习
- 我是如何自学编程的——“3遍读书法”
- Cocos2d-x格斗小游戏(五) Attack 出拳动作
- 怎样给 <span>标签赋值