Как реализовать индикатор выполнения с использованием шаблона MVVM

У меня есть приложение WPF, которое построено на шаблоне проектирования MVVM.

Я хочу реализовать индикатор прогресса в приложении, которое следует шаблону MVVM. Что самое ...

Я хочу убить процесс, запущенный на машине, с помощью taskkill, если он все еще работает через X секунд (служба Windows была остановлена, но процессам требуется время, чтобы исчезнуть) Какой самый правильный способ выполнить вышеизложенное в C # (.net 2.0 или, возможно, 3.0)?

У меня есть служебный метод для проверки того, запущен ли еще процесс, по имени процесса (используя Process.GetProcesses ( ) ). (Поскольку мой код не порождает этот процесс, я не могу использовать WaitTillExit, чтобы узнать, когда он больше не работает)

PS: процесс выполняется на удаленной машине

19
задан akapulko2020 19 August 2010 в 14:45
поделиться

3 ответа

На самом деле, вы можете использовать Process.WaitForExit().

Просто получите процесс для ожидания через

Process p = Process.GetProcessById(iYourID);

А затем вызовите

if(!p.WaitForExit(iYourInterval))
{ 
    p.Kill();
}

Вы также можете получить процессы по их имени через

Process.GetProcessesByName(strYourProcessName);
40
ответ дан 30 November 2019 в 02:13
поделиться

Вы можете вызвать Process.WaitForExit, передав соответствующий таймаут. Таким образом, вам не придется использовать собственную проверку, чтобы узнать, запущен ли еще процесс.

11
ответ дан 30 November 2019 в 02:13
поделиться
Process p = ...

bool exited = p.WaitForExit(10000); // 10 seconds timeout
10
ответ дан 30 November 2019 в 02:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: