WININET.DLL里是否有ftp联接后,可以取得要取的文件大小的API函数,该如何定义、使用?

解决方案 »

  1.   

    '文件查找操作'在FTP连接中查找一个文件。在调用此函数后取得第一个文件后,可以接着调用FtpFindNextFile()
    '获得下一个查到的FTP服务器上的文件。
    Public Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _
    (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _
          lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long
    'lpszSearchFile--指向要搜索的文件名。可以通配符*.*的形式。
    'lpFindFileData--用于装载与找到的文件有关的具体信息
    'dwFlags--数据传输的方式,通常设置为0,(ASCII方式)'继续由FtpFindFirstFile()函数发起的文件搜索操作Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" _
        (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long
    'hFind--FtpFindFirstFile()函数的返回值
    'lpvFindData--用于装载与找到的文件有关的具体信息
    '这个结构用于装载与找到的文件有关的具体信息
    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 Type
      

  2.   

    hFind = FtpFindFirstFile(hConnection, "*.*", pData, 0, 0)
    如果成功找到,次函数返回hFind为查找文件的标志此时可以使用pData.dwFileAttributes等等属性获取