Windows 文件操作 — 文件属性

1.Win32的文件函数可以操作多种对象,用GetFileType函数可以得到操作对象的类型.

invoke GetFileType,hFile

该函数返回值有4种
FILE_TYPE_UNKNOWN 文件类型未知
FILE_TYPE_DISK 磁盘文件
FILE_TYPE_CHAR 字符设备
FILE_TYPE_PIPE 管道

2.获取文件长度
使用GetFileSize函数

invoke GetFileSize,hFile,lpFileSizeHigh

lpFileSizeHigh指向一个用来接收高32位长度的变量,一般设置为NULL,长度的低32位在函数的返回值中返回,GetFileSize返回的是当前长度

3.获取和修改文件日期
获取文件日期使用GetFileTime

invoke GetFileTime,hFile,lpCreationTime,lpLastAccessTime,lpLastWriteTime

hFile:操作文件句柄
lpCreationTime:创建日期
lpLastAccessTime:最后存取日期
lpLastWriteTime:最后写入日期
如果不需要某个日期可将它设置为NULL
返回的日期是个FILETIME 结构

FILETIME STRUCT
dwLowDateTime DWORD ? ;文件日期低32位
dwHighDateTime DWORD ? ;文件日期高32位
FILETIME ENDS

这个结构中无法直接得到日期的年月日时分秒等数据.转换FILETIME为SYSTEMTIME结构,使用FileTimeToSystemTime进行转换

invoke FileTimeToSystemTime,lpFileTime,lpSystemTime

设置日期

invoke SetFileTime,hFile,lpCreationTime,lpLastAccessTime,lpLastWriteTime

填写FILETIME结构的时候,最简便的方法

invoke SystemTimeToFileTime,lpSystemTime,lpFileTime

4.获取和修改文件属性
创建文件是,可以在CreateFile的dwFlagsAndAttributes参数指定,也可以在以后用SetFileAttributes修改属性

invoke SetFileAttributes,lpFileName,dwFileAttributes

调用SetFileAttributes不需要打开文件上,只要指定全路径的文件名就可以了
dwFileAttributes与dwFlagsAndAttributes的参数是一样的

获取文件的只读,隐含与系统等属性,可以使用GetFileAttributes

invoke GetFileAttributes,lpFimeName

如果函数执行失败返回-1 成功返回文件的属性

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注