返回列表 上一主題 發帖

[發問] API FTP 刪除整個資料夾???

[發問] API FTP 刪除整個資料夾???

從網路上找到的一段code, 但一直有問題,
就是第二次FtpFindFirstFile它的值就會出現0,
可是它明明就有 InternetCloseHandle hList ,
到現在還是不知為何不行 !!!

http://www.dreamincode.net/code/snippet635.htm
Public Function FtpRemoveDirectory(ByVal hConnect As Long, ByVal dirName As String) As Boolean
    Dim hList As Long
    Dim WFDI As WIN32_FIND_DATA
    Dim fName As String
    Dim dirDepth As Byte
    Dim fileNum As Integer
   
    FtpSetCurrentDirectory hConnect, dirName
    DoEvents
    dirDepth = 1
   
loopPoint:
    While dirDepth
        hList = FtpFindFirstFile(hConnect, "*.*", WFDI, 0, 0)
        If hList Then
            Do
                fName = Left(WFDI.cFileName, instr(1,WFDI.cFileName, Chr(0),0)-1)
                If fName <> "." And fName <> ".." Then
                    If WFDI.dwFileAttributes = 16 Then
                        If FtpCommand(hConnect, False, 2, "rmd " & fName, 0, hTest) = False Then
                            FtpSetCurrentDirectory hConnect, fName
                            DoEvents
                            InternetCloseHandle hList
                            DoEvents
                            dirDepth = dirDepth + 1
                            GoTo loopPoint
                        End If
                    Else
                        FtpDeleteFile hConnect, fName
                    End If
                End If
            Loop While InternetFindNextFile(hList, WFDI)
        End If
        FtpSetCurrentDirectory hConnect, ".."
        DoEvents
        InternetCloseHandle hList
        DoEvents
        dirDepth = dirDepth - 1
    Wend
   
    InternetCloseHandle hList
    If FtpCommand(hConnect, False, 2, "rmd " & dirName, 0, hTest) = True Then
        FtpRemoveDirectory = True
    Else
        FtpRemoveDirectory = False
    End If
End Function

問題已解,原來這段CODE 是沒問題的,
提供給大家參考!!!

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題