BOOL GetFileTime( HANDLE hFile, // 文件句柄 LPFILETIME lpCreationTime, // 创建时间 LPFILETIME lpLastAccessTime, // 最后访问时间 LPFILETIME lpLastWriteTime // 最后写时间 ); BOOL SetFileTime( HANDLE hFile, CONST FILETIME *lpCreationTime, CONST FILETIME *lpLastAccessTime, CONST FILETIME *lpLastWriteTime ); typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime; } FILETIME; |
static BOOL PASCAL GetStatus( LPCTSTR lpszFileName, CFileStatus& rStatus ); static void SetStatus( LPCTSTR lpszFileName, const CFileStatus& status ); throw( CFileException ); |
struct CFileStatus { CTime m_ctime; // 文件创建时间 CTime m_mtime; // 文件最近一次修改时间 CTime m_atime; // 文件最近一次访问时间 LONG m_size; // 文件大小 BYTE m_attribute; // 文件属性 BYTE _m_padding; // 没有实际含义,用来增加一个字节 TCHAR m_szFullName[_MAX_PATH]; //绝对路径 #ifdef _DEBUG //实现Dump虚拟函数,输出文件属性 void Dump(CDumpContext & dc) const; #endif }; |
CFileStatus status; char *path = "D:\\VSS"; if(CFile::GetStatus( path, status )) { CString cTime,mTime,aTime; cTime = status.m_ctime.Format( "文件建立时间:%Y年%m月%d日 %H时%M分%S秒"); mTime = status.m_mtime.Format( "文件最近修改时间:%Y年%m月%d日 %H时%M分%S秒"); aTime = status.m_atime.Format( "文件最近访问时间:%Y年%m月%d日 %H时%M分%S秒"); CString str; str = cTime + "\n" + mTime +"\n" + aTime ; MessageBox(str); } |
DWORD GetFileAttributes( LPCTSTR lpFileName //文件或文件夹路经 ); BOOL SetFileAttributes( LPCTSTR lpFileName, // 文件名 DWORD dwFileAttributes // 要设置的属性 ); |