想要查找系统中指定文件的快捷方式,用Dir好像只能查找指定目录下的带通配符的文件,但是所要查找的文件目录不确定,有什么其他什么办法嘛?多谢

解决方案 »

  1.   

    Public 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,欲搜索的文件名。可包含通配符,并可包含一个路径或相对路径名
    lpFindFileData -  WIN32_FIND_DATA,这个结构用于装载与找到的文件有关的信息。该结构可用于后续的搜索由这个函数返回的句柄可以作为一个参数用于FindNextFile函数。这样一来,就可以方便的枚举出与lpFileName参数指定的文件名相符的所有文件Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long根据调用FindFirstFile函数时指定的一个文件名查找下一个文件
    返回
    Long,非零表示成功,零表示失败。如不再有与指定条件相符的文件,会将GetLastError设置成ERROR_NO_MORE_FILES
    参数
    hFindFile ------  Long,由FindFirstFile函数返回的搜索句柄
    lpFindFileData -  WIN32_FIND_DATA,这个结构用于装载与找到的文件有关的信息
      

  2.   

    参考:http://community.csdn.net/Expert/topic/3785/3785013.xml?temp=.3091699
      

  3.   

    Private Type WIN32_FIND_DATA
        dwFileAttributes As Long
        ftCreationTime As FILETIME
        ftLastAccessTime As FILETIME
        ftLastWriteTime As FILETIME
        nFileSizeHigh As Long
        nFileSizeLow As Long
        dwReserved0 As Long
        dwReserved1 As Long
        cFileName As String * MAX_PATH
        cAlternate As String * 14
    End TypePrivate Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
    Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
    Public Declare Function FindClose Lib "kernel32" Alias "FindClose" (ByVal hFindFile As Long) As Long
      

  4.   

    FILETIME 类型怎么定义,如果可以进行通配符的查询,应该是个好办法,请教viena(维也纳nn-实心木头人) 能不能给出具体实现方法,多谢了