Einzelnen Beitrag anzeigen

Julian M.

Registriert seit: 28. Dez 2010
41 Beiträge
 
#1

ShFileOperation Progress/Fortschritt auslesen

  Alt 18. Nov 2014, 16:32
Hi, mein Programm kopiert derzeit Dateien und Verzeichnisse mithilfe der folgenden Funktion. Beim Kopieren öffnet sich das bekannte Explorer-Fenster. Ich würde jedoch gerne die Progressbar auf meinem Formular nutzen und das zusätzliche Fenster verstecken. Gibt es eine Möglichkeit, den Fortschritt per Win-API auszulesen ? Hab die Suche benutzt und immer nur gelesen geht nicht, aber im MSDN gibts sowas wie ne Callback Funkion ? Wenn es wirklich nicht geht, gibt es sonst eine Möglichkeit zum Kopieren von Verzeichnissen (nicht Dateien) mit Progressbar ?
Das Durchlaufen des Verzeichnisses und das rekursive Zusammenzählen aller Untergeordneten Dateien mit Findfirst und findnext traue ich mir nicht zu

Delphi-Quellcode:
function CopyFiles (const fromDir, toDir: string): Boolean;
 var
   fos: TSHFileOpStruct;
 begin
   ZeroMemory(@fos, SizeOf(fos));
   with fos do
   begin
     wFunc := FO_COPY;
 // fFlags := FOF_FILESONLY;
     fFlags := 0;
     pFrom := PChar(fromDir + #0);
     pTo := PChar(toDir)
   end;
   Result := (0 = ShFileOperation(fos));
 end;

Geändert von Julian M. (18. Nov 2014 um 16:35 Uhr)
  Mit Zitat antworten Zitat