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 成功返回文件的属性