ファイルコピー中のファイルサイズの取得 – プログラミング – Home

ファイルコピー中のファイルサイズの取得
 
通知
すべてクリア

[解決済] ファイルコピー中のファイルサイズの取得


H.N@CHU
 H.N@CHU
(@H.N@CHU)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

こんばんは。
書き込みはかなり久しぶりになりますが、またわからないところが出てきましたのでご教
授ください。
大きなファイル(180Mbyte)をコピーするプログラムを作成しています。
スレッドにてファイルコピー処理を実施し、メインのダイアログでコピーするファイル名
を指定したり、ファイルコピー中はプログレスバーを出して、コピー状況を表示させるプ
ログラムを作成しています。
プログラムの流れは以下の通りです。
(1)コピー元ファイル及びコピー先のファイル名を指定
(2)コピー元ファイルサイズをCFile::GetStatusにて取得し、プログレスバーの最大に設
定する
(3)スレッドを起動し、CopyFaile関数にてファイルのコピーを実施
(4)1秒のWinタイマーを起動し、コピー先のファイルサイズを取得し、実施状況をプログ
レスバーに表示
(5)終了したらスレッド及びタイマを終了する

ここで(4)を実施する時に、ファイルサイズを取得すると、コピー開始時から既にコピー
先のファイルサイズがコピー元ファイルサイズと同じになっています。
いろいろ関数を探しているのですが、なかな良いものがありません。
いい方法、関数をご存知の方がいましたらぜひご教授いただきたく、よろしくお願い致し
ます。

開発環境はコンパイラ:VC.net2003 OS:WinXP MFCのダイアログベースで作成しています 


引用未解決
トピックタグ
n
 n
(@n)
ゲスト
結合: 21年前
投稿: 90
 

CopyFileEx 使ってコールバックで調べられるんじゃない?


返信引用
H.N@CHU
 H.N@CHU
(@H.N@CHU)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

nさん回答ありがとうございました。

CopyFileExの関数を使用して、コールバック関数で転送したバイト数を取得することによ
り実現することができました。

また、疑問点が出てきたら書き込みますので、よろしくお願い致します。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました