Daha önce forumda ShellApi ile klasör silme örneği verilmişti
viewtopic.php?f=2&t=9902&p=197665&p197661#p197661
Bu örnek aşağıdaki şekilde genişletilebilir:
Kod: Tümünü seç
procedure CopyFolder(const AHandle: HWND; const Source, Destination: string);
var
ShOp: TSHFileOpStruct;
begin
ShOp.Wnd := AHandle;
ShOp.wFunc := FO_COPY;
ShOp.pFrom := PChar(Source + #0);
ShOp.pTo := PChar(Destination + #0);
ShOp.fFlags := FOF_SIMPLEPROGRESS;
SHFileOperation(ShOp);
end;
Kullanımı şöyle olacaktır:
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
CopyFolder(Self.Handle, 'C:\temp\temp.rar', 'C:\temp\tempnew.rar');
end;
Parametre olarak klasör adı da verilebilir. Alternatif kullanım şekilleri için fFlags parametresinin alabileceği değerleri (FOF_ ile başlayan sabit tanımlar) inceleyebilirsiniz.