Как проверить, что приложение остановлено или работает из оконного сервиса - PullRequest
0 голосов
/ 08 апреля 2010

У меня есть одно приложение WPF и одна служба Windows в качестве сторожевого пса.

Я хочу проверить, остановилось ли мое оконное приложение или оно работает нормально.Если он остановлен, я хочу перезапустить приложение.

Я вижу свойство Process.responding, но оно не работает в моем сервисе.

Любая идея или другое решение.

 Process[] myProcesses;
        myProcesses = Process.GetProcessesByName(ApplicationName);
        if (myProcesses.Length > 0)
        {
            foreach (Process proc in myProcesses)
            {
                _Logger.LogMessage("Check responding");
                if (!proc.Responding)

1 Ответ

0 голосов
/ 08 апреля 2010

Как правило, вы не можете определить, была ли остановлена ​​программа (см. «Проблема останова»).

Если у вас есть конкретное техническое определение «остановки» для вашего случая, то это может быть возможно, но подробности - все.

Предположим, что графический интерфейс пользователя ожидает сетевой запрос, поэтому прекращает обработку ввода ... но когда запрос завершится, он начнет отвечать. В этом случае он остановился на одно определение, но не в других смыслах.

...