0

我正在开发一个用于硬盘碎片整理的 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;
4

0 回答 0