Как я могу получить состояние программы?

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

Вот снимок экрана Process Explorer:

Состояние: ждать: исполнительный

Как я могу получить это состояние по коду? Или, может быть, кто-нибудь скажет мне, что именно означает это состояние? Это может помочь мне найти правильный запрос для решения моей проблемы.

6

Решение

Это не состояние программы, а состояние потока. Один процесс может иметь много потоков.

Ты можешь позвонить WaitForSingleObject определить некоторые состояния.

Также вы можете создать экземпляр WMI, используя COM и выбрав Класс Win32_Thread.

Вот пример.

Больше информации здесь: Как определить, что поток Win32 находится в состоянии ожидания или соединения или сна в C ++

2

Другие решения

Это означает, что поток ожидает планировщик / компонент исполнительной

Это можно получить с WMI Win32_Thread (или .net System.Diagnostics.ProcessThread WaitReason)

2

По вопросам рекламы [email protected]