文件信息
来源:互联网 发布:代做淘宝店 编辑:程序博客网 时间:2024/05/16 11:33
BOOL GetFileAttributesEx( LPCTSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);lpFileName:文件名fInfoLevelId: 就传这个GetFileExInfoStandardlpFileInformation: 传入一个WIN32_FILE_ATTRIBUTE_DATA结构的指针。typedef struct _WIN32_FILE_ATTRIBUTE_DATA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow;} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;从结构中可以取出创建时间和最后访问时间。是FILETIME类型的:typedef struct _FILETIME { DWORD dwLowDateTime; /* low 32 bits */ DWORD dwHighDateTime; /* high 32 bits */} FILETIME, *PFILETIME, *LPFILETIME;再调用下面这个函数转换为SYSTEMTIME,年月日时分秒就都出来了:BOOL FileTimeToSystemTime( const FILETIME* lpFileTime, LPSYSTEMTIME lpSystemTime);
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner):TForm(Owner){}
//---------------------------------------------------------------------------
void __fastcall TForm1::FileListBox1Click(TObject *Sender)
{
if(!FileExists(FileListBox1->FileName))return;
AnsiString fName;
fName=FileListBox1->FileName;
HANDLE hd; //CONST CHAR *
hd=::CreateFile
(
fName.c_str(),
GENERIC_READ,//只读操作
0,//禁止共享操作
NULL,
OPEN_EXISTING,//仅仅打开指定文件
NULL,//这个是设定文件属性
NULL//对于模板文件访问的句柄
);
int theSize;
theSize=::GetFileSize(hd,NULL);
ShowMessage("文件【"+fName+"】大小"+IntToStr(theSize)+"byte");
BY_HANDLE_FILE_INFORMATION lpFileInformation;
::GetFileInformationByHandle(hd,&lpFileInformation);
FILETIME theFileTime;
LPSYSTEMTIME sysTime;
theFileTime=lpFileInformation.ftCreationTime;
FileTimeToSystemTime(&theFileTime,sysTime);
AnsiString timeS;
timeS=Format("文件创建时间%d年%d月%d日%d时%d分%d秒",
ARRAYOFCONST((sysTime->wYear,sysTime->wMonth,sysTime->wDay,sysTime->wHour,sysTime->wMinute,sysTime->wSecond)));
ShowMessage(timeS);//创建时间
theFileTime=lpFileInformation.ftLastAccessTime;
FileTimeToSystemTime(&theFileTime,sysTime);
timeS=Format("文件访问时间%d年%d月%d日%d时%d分%d秒",
ARRAYOFCONST((sysTime->wYear,sysTime->wMonth,sysTime->wDay,sysTime->wHour,sysTime->wMinute,sysTime->wSecond)));
ShowMessage(timeS);//访问时间
theFileTime=lpFileInformation.ftLastWriteTime;
FileTimeToSystemTime(&theFileTime,sysTime);
timeS=Format("文件写入时间%d年%d月%d日%d时%d分%d秒",
ARRAYOFCONST((sysTime->wYear,sysTime->wMonth,sysTime->wDay,sysTime->wHour,sysTime->wMinute,sysTime->wSecond)));
ShowMessage(timeS);//写入时间
ShowMessage(lpFileInformation.dwVolumeSerialNumber);//版本序列号
unsigned long theFileAttr=lpFileInformation.dwFileAttributes; //文件属性
}
/*
FILE_ATTRIBUTE_ARCHIVE
FILE_ATTRIBUTE_COMPRESSED
FILE_ATTRIBUTE_DIRECTORY
FILE_ATTRIBUTE_HIDDEN
FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_OFFLINE
FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_SYSTEM
FILE_ATTRIBUTE_TEMPORARY
::GetFileAttributes 好象只能获得文件:是文件还是夹、隐藏、文档、压缩不、
只读、系统、临时 这些属性
::GetFileInformationByHandle 返回一个BY_HANDLE_FILE_INFORMATION结构,比较全活
*/
0 0
- 文件信息
- 查找文件获取文件信息
- MIME头文件信息
- 读取文件信息
- 查看trace文件信息
- 读取剪贴板文件信息
- 文件信息查看器
- 读取文件信息
- 获取文件版本信息
- _stati64()获取文件信息
- //获取程序文件信息
- JPEG文件DPI信息
- 获取文件的信息
- 获取文件信息 _tstat
- 读取Properties文件信息
- /etc/passwd 文件信息
- c#获取文件信息
- dns 信息文件
- 2015-01-06
- 2015-1-6 const和指针
- 总体架构
- ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用
- 【看看你公司好不好】一张图就能让你轻松识别:好公司VS烂公司
- 文件信息
- Tomcat6.0安装配置及其在MyEclipse10上的配置
- Unity3D学习之(粒子系统以及相机的跟随)
- 1-20两两相邻和为素数的所有组合(深搜)
- System.out.println和System.err.println的区别
- java内存回收
- java.util.arraylist类 toArray()方法
- Git命令学习总结(-)
- 打造极致Material Design动画风格Button