首页
社区
课程
招聘
[原创]VC控制台修改文件时间属性
发表于: 2013-6-6 18:16 7263

[原创]VC控制台修改文件时间属性

2013-6-6 18:16
7263

最近对VC实现修改文件创建、访问、修改时间属性的方法产生了兴趣,我便在网上查了这方面的教程,但是却总是看不明白,有的不够简洁。例如在一些文章中提到了使用FindFirstFile()函数和WIN32_FIND_DATA结构,我认为完全没有必要,因为到最后时我们需要用到SetFileTime()函数,而这个函数和FindFirstFile()是无关的,我们只需用到SYSTEMTIME和FILETIME结构体。如果感兴趣的话,你可以先看看微软的官方帮助和支持文档:FILETIME 结构使用信息,里面讲的不仅仅是FILETIME 结构的使用,很值得一看。

struct _FILETIME {     //结构体定义
    DWORD dwLowDateTime;
    DWORD dwHighDateTime;}
 FILETIME;
//FILETIME 结构表示 1601 年 1 月 1 日以来 100 纳秒为间隔数。结构包含的这两个DWORD值组合在一起
//形成一个 64 位值的 32 位值。 
struct _SYSTEMTIME {     //这个结构体的成员实际上查查字典就知道什么意思了,呵呵
    WORD wYear ;   //年
    WORD wMonth ;//月
    WORD wDayOfWeek ;
     //星期,0=星期日,1=星期一...
    WORD wDay ;     //日
    WORD wHour ;    //时
    WORD wMinute ;    //分
    WORD wSecond ;    //秒
    WORD wMilliseconds ;   //毫秒
}SYSTEMTIME; 
    FILETIME Filetime;
    SYSTEMTIME Systemtime;
    Systemtime.wDay = 1;
    Systemtime.wYear = 1999;
   //一定要大于1601,因为FILETIME的时间是从1601年1月1日开始
   //如果不大于1601,SetFileTime()会返回false,GetLastError()
   //返回78 (无效参数)    
    Systemtime.wMonth = 1;
    Systemtime.wHour = 1;
    Systemtime.wMinute =1;
    Systemtime.wDayOfWeek = 1;
    Systemtime.wSecond = 1;
    Systemtime.wMilliseconds = 1;

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 5
支持
分享
最新回复 (2)
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
2
您的163博客背景看着真让人难受, 文字根本看不清.

建议您换个背景图片, 看看cppblog和csdn的博客背景, 博客背景中间应该是接近纸质的颜色.

如果看雪的文章背景都变成你的博客那样, 还让人读文章么?
2013-7-15 12:36
0
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
谢谢您的建议!
风格已换,还是用别人做的好......
2013-7-15 13:41
0
游客
登录 | 注册 方可回帖
返回
//