发新话题
打印

用API一次删除含有文件的目录或文件夹

用API一次删除含有文件的目录或文件夹

Private Const FO_MOVE = &H1
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME = &H4
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SILENT = &H4
Private Const FOF_NOERRORUI = &H400

Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Private Type SHFILEOPSTRUCT
          hwnd As Long
          wFunc As Long
          pFrom As String
          pTo As String
          fFlags As Integer
          fAnyOperationsAborted As Long
          hNameMappings As Long
          lpszProgressTitle As String '   only used if FOF_SIMPLEPROGRESS
End Type

Public Function KillPath(ByVal sPath As String) As Boolean
    On Error Resume Next
    Dim udtPath As SHFILEOPSTRUCT
    udtPath.hwnd = 0
    udtPath.wFunc = FO_DELETE
    udtPath.pFrom = sPath
    udtPath.pTo = ""
    udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI
    KillPath = Not CBool(SHFileOperation(udtPath))
End Function

'绝对让你很爽 :
『你们行的,我也行;你们不行,我更行』

TOP

发新话题