| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 文件_枚举W | 整数型 | 枚举某个目录下的指定类型文件,成功返回文件数组。 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| 欲寻找的目录 | 字节集 | 欲寻找的文件名 | 字节集 | *为寻找全部文件 | 文件数组 | 字节集 | 是否带路径 | 逻辑型 | 为真时返回文件为绝对路径 | 是否遍历子目录 | 逻辑型 | 为真时文件数组不主动清空 |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| szPath | 字节集 | |||||
| FileName | 字节集 | |||||
| hFind | 整数型 | |||||
| FindFileData | WIN32_FIND_DATAW | |||||
| cFileName | 字节集 | |||||
| bRes | 逻辑型 | |||||
如果真 (取字节集右边 (szPath, 2) ≠ { 92, 0 })
szPath = szPath + { 92, 0 }FileName = 删除Unicode结尾空白字节 (欲寻找的文件名)
如果真 (是否遍历子目录 = 假)
清除数组 (文件数组)
hFind = FindFirstFileW (szPath + FileName + { 0, 0 }, FindFileData)
如果真 (hFind = #INVALID_HANDLE_VALUE )
返回 (0)
循环判断首 ()
cFileName = 到字节集 (FindFileData.cFileName)
cFileName = 删除Unicode结尾空白字节 (cFileName)
如果真 (wcscmp (cFileName + { 0, 0 }, { 46, 0, 0, 0 }) ≠ 0 且 wcscmp (cFileName + { 0, 0 }, { 46, 0, 46, 0, 0, 0 }) ≠ 0)

如果真 (是否遍历子目录 且 位与 (FindFileData.dwFileAttributes, #FILE_ATTRIBUTE_DIRECTORY ) ≠ 0)

文件_枚举W (szPath + cFileName + { 92, 0 }, 欲寻找的文件名, 文件数组, 是否带路径, 是否遍历子目录)

如果真 (位与 (FindFileData.dwFileAttributes, #FILE_ATTRIBUTE_ARCHIVE ) ≠ 0)


如果 (是否带路径)


加入成员 (文件数组, szPath + cFileName + { 0, 0 })


加入成员 (文件数组, cFileName + { 0, 0 })






bRes = FindNextFileW (hFind, FindFileData)
循环判断尾 (bRes)FindClose (hFind)
返回 (取数组成员数 (文件数组))
| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 删除Unicode结尾空白字节 | 字节集 | ||||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| 欲被处理的字节集 | 字节集 | ||||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| i | 整数型 | |||||
| len | 整数型 | |||||
| ptr | 整数型 | |||||
| short | 短整数型 | |||||
如果真 (取字节集长度 (欲被处理的字节集) < 2)
返回 ({ })ptr = 取指针_字节集型 (欲被处理的字节集)
len = 取字节集长度 (欲被处理的字节集) ÷ 2
计次循环首 (len, i)
short = 指针_到短整数型_汇编 (ptr)
如果真 (short = 0)
跳出循环 ()

ptr = ptr + 2
计次循环尾 ()
如果真 (i > len)
返回 (欲被处理的字节集)
返回 (取字节集左边 (欲被处理的字节集, (i - 1) × 2))
词条作者信息 使用例程
