毎回お世話になっています。
VC6、MFCダイアログベースでの製作です。
外付けハードディスク(iPod)内にある複数のファイル(MP3)をPCにコピーする処理を書いているのですが、コピー中にダイアログ画面がフリーズします。
CopyFile()を用いてコピーし、コピーのファイル数の進行状況をプログレスバーに表示させています。初めの2、3個のファイルコピーまでは正しく、ダイアログが表示されているのですが、それ以降プログレスバーが進行せず、メニュー部分が真っ白になります。しかし、時間が経つと、処理が終わり正しくコピーされています。
CopyFile();
m_prog.StepIt();
をファイル数分だけ繰り返しています。この現象を防ぐことはできないでしょうか?
処理中にメッセージポンプを入れると回避できるかもしれません。
もしくは、コピー部分とUI用のメッセージポンプを別スレッド化?
ご返答ありがとうございます。
メッセージポンプで解決できたみたいです。
50個のMP3ファイルをコピーしても問題なく
表示できています。
ありがとうございました。
ツイート | ![]() |