Я хочу выяснить, спит или нет определенный процесс (C ++ / Windows).
Я пытаюсь использовать для этого счетчик приостановок и приостанавливаю обработку перед проверкой на
процессы профилирования.
Я делаю что-то вроде этого:
SuspendThread(threadHandle);
... Do Some Stuff ...
int suspended = ResumeThread(threadHandle);
if (suspended > 1)
m_isSleeping = true;
По данным MSDN: http://msdn.microsoft.com/en-us/library/ms685086%28v=vs.85%29.aspx
Если процесс приостановлен, «ResumeThread» возвращает значение> 0.
В моем случае это спящий процесс, поэтому я ожидаю, что счетчик приостановок будет иметь значение [My Call To SuspendThread] + [Метод «Sleep» внутри процесса] = 2
но я продолжаю получать: ResumeThread (threadHandle) == 1
Кто-нибудь знает, почему это происходит?
спасибо:)