Запустите индикатор выполнения вместе с дефрагментацией диска в WPF

Я разрабатываю exe для дефрагментации жесткого диска. Для этого я использую StartDefragmentation(String DeviceName) метод интерфейса IDefragmenter для дефрагментации конкретного жесткого диска.

Он работает правильно, но мне также нужно запустить индикатор выполнения, чтобы отобразить статус дефрагментации, но я не знаю, сколько времени требуется для завершения дефрагментации конкретного диска. Если я знаю фактическое время, затрачиваемое следующим потоком, я легко установлю значение и максимальное свойство индикатора выполнения.

Мой код:

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;

person Khatri    schedule 08.02.2016    source источник