FindFirstFile(FindFirstFile)

由网友(我病態見不得別人恩愛)分享简介:ction "Fin lpFinVB声亮Declare Function FindFirstFile Lib "kernel三二" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN三二_FIND_DATA) As Long...

ction "Fin lpFin

VB声明

C 使用通配符查找文件 FindFirstFile

Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long

说明

根据文件名查找文件

返回值

Long,如执行成功,返回一个搜索句柄。如果出错,返回一个INVALID_HANDLE_VALUE常数,一旦不再需要,应该用FindClose函数关闭这个句柄

参数表

参数 类型及说明

lpFileName

String,欲搜索的文件名。参数可如下

c:Windows*.* //在c:Windows目录中查找所有文件 c:WindowsSystem32*.dll //在c:WindowsSystem32目录中查找所有dll文件

c:WindowsSystem.ini ;在c:Windows目录中查找System.ini文件

c:Windowsa???.* // 在c:Windows目录中查找所有以a开头的文件名长度。为4个字符的文件

Test.dat //在当前目录查找Test.dat文件

*.* //在当前目录查找所有文件

(注!一定要带文件名。如果参数为“c:Windows”,则返回的文件名为“Windows”,并且接下来调用FindNextFile会返回失败)

lpFindFileData

WIN32_FIND_DATA,这个结构用于装载与找到的文件有关的信息。该结构可用于后续的搜索

结构说明:

WIN32_FIND_DATA STRUCT

dwFileAttributes DWORD ? ;文件属性

ftCreationTime FILETIME <> ;文件的创建日期

ftLastAccessTime FILETIME <> ;文件的最后存取日期

ftLastWriteTime FILETIME <> ;文件的最后修改日期

nFileSizeHigh DWORD ? ;文件长度的高32位

nFileSizeLow WORD ? ;文件长度的低32位

dwReserved0 DWORD ? ;内部使用

dwReserved1 DWORD ? ;内部使用

cFileName BYTE MAX_PATH dup(?) ;本次找到的文件名

cAlternate BYTE 14 dup(?) ;文件的8.3结构的短文件名

WIN32_FIND_DATA ENDS

dwFileAttributes字段可以是下面取值的组合,通过这个字段可以检查找到的究竟是一个文件还是一个子目录,以及其他的文件属性:

● FILE_ATTRIBUTE_ARCHIVE——文件包含归档属性。

● FILE_ATTRIBUTE_COMPRESSED——文件和目录被压缩。

● FILE_ATTRIBUTE_DIRECTORY——找到的是一个目录。

● FILE_ATTRIBUTE_HIDDEN——文件包含隐含属性。

● FILE_ATTRIBUTE_NORMAL——文件没有其他属性。

● FILE_ATTRIBUTE_READONLY——文件包含只读属性。

● FILE_ATTRIBUTE_SYSTEM——文件包含系统属性。

● FILE_ATTRIBUTE_TEMPORARY——文件是一个临时文件。

(返回的文件名中会包含"."和".."。“.'代表本目录,".."代表上一层目录。一般情况下需要把这两个名称过滤掉。比如要进行文件删除操作)

注解

由这个函数返回的句柄可以作为一个参数用于FindNextFile函数。这样一来,就可以方便的枚举出与lpFileName参数指定的文件名相符的所有文件

VC声明

HANDLE FindFirstFile(

LPCTSTR lpFileName, // file name

LPWIN32_FIND_DATA lpFindFileData // data buffer

);

功能说明

该函数到一个文件夹(包括子文件夹)去搜索指定文件 如果要使用附加属性去搜索文件的话 可以使用FindFirstFileEx函数

参数说明

HANDLE hFindFile搜索的文件句柄 函数执行的时候搜索的是此句柄的下一文件

LPWIN32_FIND_DATA lpFindFileData 指向一个用于保存文件信息的结构体

返回值

如果调用成功返回一个句柄,可用来做为FindNextFile或 FindClose参数

调用失败 返回为INVALID_HANDLE_VALUE(即-1) ,可调用GetLastError来获取错误信息

阅读全文

相关推荐

最新文章