![]() |
ShFileOperation Progress/Fortschritt auslesen
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 :stupid:
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; |
AW: ShFileOperation Progress/Fortschritt auslesen
Ich nehm immer CopyFileEx, damit geht das gut. :)
|
AW: ShFileOperation Progress/Fortschritt auslesen
Nee, kein Callback. (mir war auch so, als wenn es da Einen gab :gruebel:)
![]() [edit] Zitat:
[/edit] Eventuell so ![]() Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz