質問: 0 application.exit() こんな感じで作成しております。 ファイル自身が1gbぐらいあるので フリーズしていないかプログレスバーや%表示でしらせたいので 教えていただけると助かります。 よろしくお願いします。
回答: system.io周りを探ってみましたが、非同期のファイルコピーは見当たりませんでした。 どうしても自アプリ内でプログレスを動かしたい場合、2つの方法を思いついたので挙げておきます。 方法1:ファイルコピーを自力で行う コピー元ファイルを開き、コピー先ファイルを空で用意します。 コピー対象のファイルから一定量読み取り、コピー先へ書き込み、プログレスバーを進めます。これを繰り返すことで進捗状況がわかります。 ただし、ファイルの属性や更新日・最終アクセス日がコピーした時点の日時になるなどの自力で調整しないといけない部分があります。 イメージとしては、ファイルをアプリで開き「名前をつけて保存」で別名を指定しているのと同じ。 方法2:winapiを使う copyfileexというapiを使うと、apiが進捗状況をコールバック関数に送ってきてくれます。一般的にはこっちの方法が使われていると思います。 vb6.0であれば実行できますが.netでは試したことがありません。また、コピーを中止する手続きも自分で用意する必要があります。特にコールバック関数を使うあたりが > まったくの初心者レベル とおっしゃっているので、かなり敷居が高いかと思われます。