- 帖子
- 2
- 主題
- 1
- 精華
- 0
- 積分
- 8
- 點名
- 0
- 作業系統
- WINXP
- 軟體版本
- OFFICE 2000
- 閱讀權限
- 10
- 性別
- 男
- 註冊時間
- 2010-6-10
- 最後登錄
- 2016-2-19
|
從網路上找到的一段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 |
|