WinCE删除文件DeleteFile失败

zhuyf87 2013-01-18 12:14:20
BOOL return_value = DeleteFile(_T("\\UPLOAD\\手持上传数据_20130118111800_470370360369.zip"));

if (!return_value)
{
DWORD error = 0;
error = GetLastError();
}


我的程序中,会使用上面这段代码删除WinCE系统上一些文件。
一般情况下都工作正常,但偶尔会出现有文件删除失败的情况,我在程序中加了日志。
出现删除失败的情况时,我用GetLastError返回错误码,返回的是-1(应该是0xffffffff吧)。
我想通过GetLastError返回的错误码,获知删除失败的原因(被占用?)。
但现在GetLastError的返回值是-1或者说0xffffffff,并不是有效的Windows error code。
我直接手动到WinCE终端上删除这个文件,也弹出窗口,提示“删除文件失败”。
请大家帮我分析一下如果解决这个问题。谢谢。
...全文
214 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujinqiang 2013-01-21
  • 打赏
  • 举报
回复
1. 文件是否被损坏 在WINCE能正常打开么? 2. 文件被占用 看看有没有其他进程在使用这个文件。 ++
91program 2013-01-20
  • 打赏
  • 举报
回复
引用 6 楼 zhuyf87 的回复:
wince下有没有强制删除文件的方法呢?
好像没有 实在不行,先将文件改名,重启后再删除试试
西山小月 2013-01-20
  • 打赏
  • 举报
回复
是否是绝对路径?
zhuyf87 2013-01-20
  • 打赏
  • 举报
回复
引用 7 楼 slek 的回复:
是否是绝对路径?
路径是绝对路径,路径也是正确的。一般时候是可以正常工作的。 我测了一下,删除不掉时,手动删除也不行。 重启机器之后,就可以删除,无论是程序还是手动。 应该就是文件被占用了。 但即使知道是被某个进程占用了,也解决不了问题。除非搜索一些强制删除文件的资料。 或者从另一个角度解决问题。
woshi_ziyu 2013-01-18
  • 打赏
  • 举报
回复
1. 文件是否被损坏 在WINCE能正常打开么? 2. 文件被占用 看看有没有其他进程在使用这个文件
zhuyf87 2013-01-18
  • 打赏
  • 举报
回复
wince下有没有强制删除文件的方法呢?
zhuyf87 2013-01-18
  • 打赏
  • 举报
回复
引用 4 楼 woshi_ziyu 的回复:
引用 3 楼 zhuyf87 的回复:引用 1 楼 woshi_ziyu 的回复:1. 文件是否被损坏 在WINCE能正常打开么? 2. 文件被占用 看看有没有其他进程在使用这个文件 文件没有被损坏,如何看是否有哪个进程占用它?谢谢。 可以在VS2005中查看所有运行的进程
嗯。可以通过远程工具看,但却看不出哪个进程占用了这个文件。运行着的进程貌似都没有占用这个文件。因为他们和这个文件基本没什么关系。
woshi_ziyu 2013-01-18
  • 打赏
  • 举报
回复
引用 3 楼 zhuyf87 的回复:
引用 1 楼 woshi_ziyu 的回复:1. 文件是否被损坏 在WINCE能正常打开么? 2. 文件被占用 看看有没有其他进程在使用这个文件 文件没有被损坏,如何看是否有哪个进程占用它?谢谢。
可以在VS2005中查看所有运行的进程
zhuyf87 2013-01-18
  • 打赏
  • 举报
回复
引用 1 楼 woshi_ziyu 的回复:
1. 文件是否被损坏 在WINCE能正常打开么? 2. 文件被占用 看看有没有其他进程在使用这个文件
文件没有被损坏,如何看是否有哪个进程占用它?谢谢。
Perry118 2013-01-18
  • 打赏
  • 举报
回复
LS++
引用 1 楼 woshi_ziyu 的回复:
1. 文件是否被损坏 在WINCE能正常打开么? 2. 文件被占用 看看有没有其他进程在使用这个文件

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧