vc 实现文件获取文件夹的创建时间

难到vc真的没提供API么,就是不能获取文件夹的创建时间,高手进!!!期待中... 难到 vc 真的没提供API么 , 就是不能获取 文件夹的创建时间,高手进!!!期待中 展开
 我来答
百度网友96ffcf7
推荐于2016-07-04 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
通过GetDirTime()来实现对文件夹时间信息的获取
// 获取指定文件夹的时间属性,入口参数DirName指定了待处理的文件夹,stime为一
// 指向SYSTEMTIME结构的指针
BOOL CSetForderTimeDlg::GetDirTime(CString DirName, SYSTEMTIME &stime){
// 打开文件夹
HANDLE hDir = CreateFile (DirName, GENERIC_READ,
FILE_SHARE_READ|FILE_SHARE_DELETE,
NULL, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, NULL);
FILETIME lpCreationTime; // 文件夹的创建时间
FILETIME lpLastAccessTime; // 对文件夹的最近访问时间
FILETIME lpLastWriteTime; // 文件夹的最近修改时间
// 获取文件夹时间属性信息
if (GetFileTime(hDir, &lpCreationTime, &lpLastAccessTime, &lpLastWriteTime)){
FILETIME ftime;
FileTimeToLocalFileTime(&lpLastWriteTime, &ftime); // 转换成本地时间
FileTimeToSystemTime(&ftime, &stime); // 转换成系统时间格式
}
CloseHandle(hDir); // 关闭打开过的文件夹
return retval;
}
noodlest
推荐于2016-09-01 · TA获得超过785个赞
知道小有建树答主
回答量:724
采纳率:100%
帮助的人:720万
展开全部
CFileStatus Status;
if(CFile::GetStatus(StrFileName,Status))
{
CString StrCreateTime=Status.m_ctime.Format( "文件创建时间:%Y%M%D%H%M%S ");
}
具体查看MSDN
更多追问追答
追问
这个 试过了 不行的呀 需要StrFileName传入文件  而不是文件夹
追答
对于文件夹,在通过CreateFile()函数将其打开后,其获取得到的句柄可以当作文件句柄来使用。因此,通过GetFileTime()函数同样也可以得到文件夹的时间属性。GetFileTime()函数原型如下:

BOOL GetFileTime( HANDLE hFile, // 文件句柄
 LPFILETIME lpCreationTime, // 创建时间的地址
 LPFILETIME lpLastAccessTime, // 最近访问时间的地址
 LPFILETIME lpLastWriteTime // 最近修改时间的地址
);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式