В смысле, можно ли узнать по хендлу "заморожен" ли поток (SuspendThread) или нет? Одно решение уже в голову пришло (сравнение двух последовательных GetThreadTimes через Sleep(1)
), но уверенности в нем нет...
Здравствуйте, Gosha, Вы писали:
G>В смысле, можно ли узнать по хендлу "заморожен" ли поток (SuspendThread) или нет? Одно решение уже в голову пришло (сравнение двух последовательных GetThreadTimes через Sleep(1) ), но уверенности в нем нет...
Как вариант можно получить контекст потока функцией GetThreadContext
масдай на эту тему пишет:
You cannot get a valid context for a running thread. Use the SuspendThread function to suspend the thread before calling GetThreadContext.
Здравствуйте, Gosha, Вы писали:
G>В смысле, можно ли узнать по хендлу "заморожен" ли поток (SuspendThread) или нет? Одно решение уже в голову пришло (сравнение двух последовательных GetThreadTimes через Sleep(1) ), но уверенности в нем нет...
Можно так:
ZwQuerySystemInformation запрос типа SystemProcessesAndThreadsInformation
Здравствуйте, djugasvilly, Вы писали:
G>>В смысле, можно ли узнать по хендлу "заморожен" ли поток (SuspendThread) или нет? Одно решение уже в голову пришло (сравнение двух последовательных GetThreadTimes через Sleep(1) ), но уверенности в нем нет...
D>Как вариант можно получить контекст потока функцией GetThreadContext
D>масдай на эту тему пишет:
D>You cannot get a valid context for a running thread. Use the SuspendThread function to suspend the thread before calling GetThreadContext.
Сейчас проверил — возвращает
не ноль даже для работающего потока. Саму структуру не проверял, но похоже что не то...
Здравствуйте, TarasCo, Вы писали:
G>>В смысле, можно ли узнать по хендлу "заморожен" ли поток (SuspendThread) или нет? Одно решение уже в голову пришло (сравнение двух последовательных GetThreadTimes через Sleep(1) ), но уверенности в нем нет...
TC>Можно так:
TC>ZwQuerySystemInformation запрос типа SystemProcessesAndThreadsInformation
Недокументированная ведь...
Пошел искать описание