2

C++ Builder と SHFileOperation を使用して、ネットワーク上の場所からアプリケーション (そのフォルダー) をダウンロードします。WinApi には独自のプログレス バーがありますが、プログレス バーを含むカスタム フォームが必要です。

独自の進行状況バーを表示できるように、コピーの進行状況だけを追跡するにはどうすればよいですか? 短い例は間違いなく役に立ちます。ありがとう。

4

1 に答える 1

4

SHFileOperation進行状況のコールバックを受け取る手段を提供しません。システムが提供する進行状況のフィードバック ダイアログを受け入れるか、進行状況の報告をまったく行わないこともできます。

CopyFileExプログレスコールバックをサポートするものがあります。ただし、それはディレクトリ全体ではなく、単一のファイルのコピーにのみ対応しています。

Vista 以降でIFileOperationは、に代わるものがありSHFileOperationます。このインターフェイスは よりも機能的ですSHFileOperation。を使用IFileOperationしてディレクトリ全体をコピーし、進行状況の通知を受け取ることができます。

XP 以前をサポートする必要がある場合は、独自のディレクトリ コピー ルーチンを作成する必要があります。コピーするファイルの合計サイズを計算し、CopyFileEx. から進行状況コールバックを受け取りCopyFileEx、それらをアプリケーションが表示する全体的な進行状況イベントに変換します。

于 2013-06-18T12:12:32.893 に答える