Apagando um Subdiretório

 

Inclua a unit ShellAPI na clausula uses do seu formulário.

 

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

var

  OpStruc: TSHFileOpStruct;

  FromBuffer, ToBuffer: array[0..128] of 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;

  end;

  ShFileOperation(OpStruc);

end;

 

Utilize a função assim:

procedure TForm1.Button1Click(Sender: TObject);

begin

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

end;