C++ Builder と SHFileOperation を使用して、ネットワーク上の場所からアプリケーション (そのフォルダー) をダウンロードします。WinApi には独自のプログレス バーがありますが、プログレス バーを含むカスタム フォームが必要です。
独自の進行状況バーを表示できるように、コピーの進行状況だけを追跡するにはどうすればよいですか? 短い例は間違いなく役に立ちます。ありがとう。
C++ Builder と SHFileOperation を使用して、ネットワーク上の場所からアプリケーション (そのフォルダー) をダウンロードします。WinApi には独自のプログレス バーがありますが、プログレス バーを含むカスタム フォームが必要です。
独自の進行状況バーを表示できるように、コピーの進行状況だけを追跡するにはどうすればよいですか? 短い例は間違いなく役に立ちます。ありがとう。
SHFileOperation
進行状況のコールバックを受け取る手段を提供しません。システムが提供する進行状況のフィードバック ダイアログを受け入れるか、進行状況の報告をまったく行わないこともできます。
CopyFileEx
プログレスコールバックをサポートするものがあります。ただし、それはディレクトリ全体ではなく、単一のファイルのコピーにのみ対応しています。
Vista 以降でIFileOperation
は、に代わるものがありSHFileOperation
ます。このインターフェイスは よりも機能的ですSHFileOperation
。を使用IFileOperation
してディレクトリ全体をコピーし、進行状況の通知を受け取ることができます。
XP 以前をサポートする必要がある場合は、独自のディレクトリ コピー ルーチンを作成する必要があります。コピーするファイルの合計サイズを計算し、CopyFileEx
. から進行状況コールバックを受け取りCopyFileEx
、それらをアプリケーションが表示する全体的な進行状況イベントに変換します。