我正在开发一个用于硬盘碎片整理的 exe。为此,我使用 接口StartDefragmentation(String DeviceName)
方法对IDefragmenter
硬盘特定驱动器进行碎片整理。
它工作正常,但我还必须运行进度条来显示碎片整理的状态,但我不知道完成特定驱动器的碎片整理需要多少时间。如果我知道下一个线程所花费的实际时间,那么我将轻松设置进度条 Value 和 Maximum 属性。
我的代码:
private void StartDefragmentation()
{
try {
private IDefragmenter Defragmenter;
Defragmenter.StartDefragmentation("D:\\");
//please call Background Thread for setting progressbar Value Counter and Maximum property which is time taken by StartDefragmentation method
} catch {
}
}
我已经使用了这段代码,但它对我没有帮助:
Stopwatch sw = Stopwatch.StartNew();
Defragmenter.StartDefragmentation(f);
sw.Stop();
Double timeTaken = sw.Elapsed.TotalMilliseconds;