.版本 2
.程序集 程序集1
.子程序 _启动子程序, 整数型
返回 (0)
.子程序 取文件详细属性, 文件属性结构, 公开
.参数 文件名, 文本型
.局部变量 FILE_ATTRIBUTE, WIN32_FILE_ATTRIBUTE_DATA
.局部变量 临时, FILETIME
.局部变量 临时2, SYSTEMTIME
.局部变量 返回值
.局部变量 临时结构, 文件属性结构
GetFileAttributesEx (文件名, 0, FILE_ATTRIBUTE)
' 取各种时间
FileTimeToLocalFileTime (FILE_ATTRIBUTE.ftCreationTime, 临时)
FileTimeToSystemTime (临时, 临时2)
临时结构.创建时间 = 指定时间 (临时2.wYear, 临时2.wMonth, 临时2.wDay, 临时2.wHour, 临时2.wMinute, 临时2.wSecond)
FileTimeToLocalFileTime (FILE_ATTRIBUTE.ftLastWriteTime, 临时)
FileTimeToSystemTime (临时, 临时2)
' 本源码来自易语言资源网(www.5A5X.com)
临时结构.最后修改时间 = 指定时间 (临时2.wYear, 临时2.wMonth, 临时2.wDay, 临时2.wHour, 临时2.wMinute, 临时2.wSecond)
FileTimeToLocalFileTime (FILE_ATTRIBUTE.ftLastAccessTime, 临时)
FileTimeToSystemTime (临时, 临时2)
临时结构.最后访问时间 = 指定时间 (临时2.wYear, 临时2.wMonth, 临时2.wDay, 临时2.wHour, 临时2.wMinute, 临时2.wSecond)
' 实际大小
RtlMoveMemory (lstrcpyn_长整形 (临时结构.大小, 临时结构.大小, 0) + 4, FILE_ATTRIBUTE.nFileSizeHigh, 4)
RtlMoveMemory (lstrcpyn_长整形 (临时结构.大小, 临时结构.大小, 0), FILE_ATTRIBUTE.nFileSizeLow, 4)
' 实际占用空间,其实就是按照4kb对齐来算的
.判断开始 (临时结构.大小 % 4096 > 0)
临时结构.占用空间 = 临时结构.大小 \ 4096
临时结构.占用空间 = 临时结构.占用空间 × 4096 + 4096
.默认
临时结构.占用空间 = 临时结构.大小
.判断结束
返回值 = GetFileAttributes (文件名)
' 取文件属性,还可以加的,你们自己加了吧,常量值都在常量表里边了
临时结构.隐藏 = 位与 (返回值, #FILE_ATTRIBUTE_HIDDEN) ≠ 0
临时结构.只读 = 位与 (返回值, #FILE_ATTRIBUTE_READONLY) ≠ 0
临时结构.系统文件 = 位与 (返回值, #FILE_ATTRIBUTE_SYSTEM) ≠ 0
临时结构.存档 = 位与 (返回值, #FILE_ATTRIBUTE_ARCHIVE) ≠ 0
' 本源码来自易语言资源网(www.5A5X.com)
返回 (临时结构)