刪除文件夾的函数

    技术2022-05-11  81

    如下函数可以直接刪除一個文件夾,包括子文件夾及文件;

    uses ShellAPI;

    Function DelTree(DirName : string): Boolean;

    var

      SHFileOpStruct : TSHFileOpStruct;

      DirBuf : array [0..255] of char;

    begin

      try

       Fillchar(SHFileOpStruct,Sizeof(SHFileOpStruct),0) ;

       FillChar(DirBuf, Sizeof(DirBuf), 0 ) ;

       StrPCopy(DirBuf, DirName) ;

       with SHFileOpStruct do begin

        Wnd := 0;

        pFrom := @DirBuf;

        wFunc := FO_DELETE;

        fFlags := FOF_ALLOWUNDO;

        fFlags := fFlags or FOF_NOCONFIRMATION;

        fFlags := fFlags or FOF_SILENT;

       end;

        Result := (SHFileOperation(SHFileOpStruct) = 0) ;

       except

        Result := False;

      end;

    end;

     

    最新回复(0)