Pastas - deletar uma pasta inteira

Top  Previous  Next

uses StdCtrls, ShellApi;

 

procedure DeleteDir( hHandle : THandle; Const sPath : String );

var

  OpStruc: TSHFileOpStruct;

  FromBuffer, ToBuffer: Array[0..128of Char;

begin

  fillChar( OpStruc, Sizeof(OpStruc), 0 );

  FillChar( FromBuffer, Sizeof(FromBuffer), 0 );

  FillChar( ToBuffer, Sizeof(ToBuffer), 0 );

  StrPCopy( FromBuffer, sPath);

  With OpStruc Do Begin

    Wnd   := hHandle;

    wFunc := FO_DELETE;

    pFrom := @FromBuffer;

    pTo   := @ToBuffer;

    fFlags:= FOF_NOCONFIRMATION;

    fAnyOperationsAborted:=False;

    hNameMappings        :=nil;

    //lpszProgressTitle  :=nil;

  End;

  ShFileOperation(OpStruc);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  DeleteDir( Self.Handle, 'C:\TEMP');

end;