设置文件最后访问时间出错

HelloDan 2010-06-28 11:38:52
情况是这样的,我是下载一个文件,下载一半后不下载了,这时要将文件的最后访问时间设置成了一个较早的时间。但是下载完就立即设置,这样子设置就没法设置成功。 但是如果我在另外一个对话框的测试程序里面设置最后访问时间就可以成功。

这是为什么呢? 有没有人遇到过这种情况。 谢谢!

我设置的函数是这样子的。

HANDLE hFile=CreateFile(_T("D:\\AutoCAD2007.rar.Part"), GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

SYSTEMTIME sys_time;
sys_time.wYear=2008;
sys_time.wMonth=6;
sys_time.wDayOfWeek=1;
sys_time.wDay=1;
sys_time.wHour=1;
sys_time.wMinute=1;
sys_time.wSecond=1;
sys_time.wMilliseconds=1;
FILETIME file_time;
SystemTimeToFileTime(&sys_time, &file_time);
SetFileTime(hFile, NULL, &file_time, NULL);
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
HelloDan 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cnzdgs 的回复:]

遇到此类问题时,单步调试一下,注意各个函数调用是否成功,如果哪个函数失败,看一下错误码是什么,基本上就清楚原因了。
[/Quote]

是啊。 非常简单的问题,我当时还用GetLastError看了,但是还是看不出来, 后来发现,晕死了。 是写错了文件名。。。
zwfgdlc 2010-06-28
  • 打赏
  • 举报
回复
楼上说的有可能.
sunlin7 2010-06-28
  • 打赏
  • 举报
回复
类似迅雷这样的下载工具在下载后的一段时间内还会保持打开文件状态上传的,要彻底关闭后才可以。
ArcRain 2010-06-28
  • 打赏
  • 举报
回复
下载完就立即设置时,原来的文件Handle关闭了没?没有关闭的话那么原来的文件Handle在创建时有指定FILE_SHARE_WRITE属性吗?
都没做的话,那是会失败的.
wencheng2998 2010-06-28
  • 打赏
  • 举报
回复
顶一个!
cnzdgs 2010-06-28
  • 打赏
  • 举报
回复
遇到此类问题时,单步调试一下,注意各个函数调用是否成功,如果哪个函数失败,看一下错误码是什么,基本上就清楚原因了。
HelloDan 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dream238 的回复:]

下载完就立即设置时,原来的文件Handle关闭了没?没有关闭的话那么原来的文件Handle在创建时有指定FILE_SHARE_WRITE属性吗?
都没做的话,那是会失败的.
[/Quote]

我是用C的方式打开文件的,但改属性是用API
HelloDan 2010-06-28
  • 打赏
  • 举报
回复
你说这样子是不是关了?




fflush(pFile);

fclose(pFile);

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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