我正在構建一個小應用程序,用於計算從任何給定文件到多種哈希算法的哈希值。如何在散列文件時監視狀態?
爲了簡單起見,我只關注處理器密集型的一種算法,即使文件大約15mb,計算散列也需要大約半分鐘。
我通過使用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 2012-01-29 10:42:28
我添加了一個例子的鏈接。 – driis 2012-01-29 10:45:39
.....完美:D – HelpNeeder 2012-01-29 10:46:41