私は、任意のファイルから複数のタイプのハッシュアルゴリズムにハッシュを計算する小さなアプリケーションを構築しています。ファイルのハッシュ中に状態を監視する方法はありますか?
簡潔にするために、私はプロセッサ集中型である1つのアルゴリズムのみに焦点を当て、ファイルが約15MBであっても、ハッシュを計算するのに約0.5分かかります。
私はBackgroundWorkerを使用して計算を実行しています(計算には正しい方法があるかどうかはわかりませんが、私は実験しています)。
ここでは、ハッシュのプログレスを表示するプログレスバーが必要ですが、必要な最大値を得る方法やDoStepメソッドを配置する場所がわかりません。
アイデア?
マイコード:
private void btnBrowse_Click(object sender, EventArgs e)
{
ofdBrowse.Filter = "All Files|*.*";
ofdBrowse.Title = "Open file.";
if (ofdBrowse.ShowDialog() == DialogResult.OK)
{
txtPath.Text = ofdBrowse.FileName;
bwWorker.RunWorkerAsync();
}
}
private void bwWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
t5 = hash.HashSHA512(txtPath.Text);
}
void bwWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
txtSHA512.Text = t5;
}
よろしくお願いいたします。ありがとう。 – HelpNeeder
例へのリンクを追加しました。 – driis
.....完璧:D – HelpNeeder