Если кто знает, подскажите какой !!!функцией!!! или хотя бы по какому признаку TaskManager определяет состояние процесса: "Работает","Не отвечает" >?
И ещё —
1.Список идентификаторов процесса узнаём : EnumProcesses
2.По идентификатору открываем процесс : OpenProcess и получаем handle на него
3.Потом уполучаем handle на модули процесса : EnumProcessModules (1-ый модуль — имя исполняемого файла)
4.Затем с помощью GetModuleBaseName получаем НАКОНЕЦ-ТАКИ имя этого процесса!!!
(так описано в SDK , так делаю и я)
Меня интересует — можно ли получить по имени (напр.: prog.exe) HANDLE на процесс ?
GetProcessImageFileName идеально мне подходит, НО работает только в XP
Здравствуйте, ShadowMan, Вы писали:
SM>Если кто знает, подскажите какой !!!функцией!!! или хотя бы по какому признаку TaskManager определяет состояние процесса: "Работает","Не отвечает" >?
он использует Performance Counters для получения инфы, там наверняка и имя процесса есть
а для определения "не отвечает" — эта тема как-то обсуждалась (может и не здесь)
Здравствуйте, ShadowMan, Вы писали:
SM>Если кто знает, подскажите какой !!!функцией!!! или хотя бы по какому признаку TaskManager определяет состояние процесса: "Работает","Не отвечает" >?
Здравствуйте, NKZ,
Спасибо за помощь... теперь только стоит понять как поступать , если у приложения нет окна , а вункция определения по Thread' у не найдена!
Здравствуйте, ShadowMan, Вы писали:
SM>Спасибо за помощь... теперь только стоит понять как поступать , если у приложения нет окна , а вункция определения по Thread' у не найдена!
Если окна нет, то его надо создать, хотя бы невидимое. А как без окна
... << RSDN@Home 1.1.4 beta 3 rev. 0>>
Re: Подвисание процесса. Как это определить >?
От:
Аноним
Дата:
03.11.04 11:59
Оценка:
Здравствуйте, ShadowMan, Вы писали:
SM>Если кто знает, подскажите какой !!!функцией!!! или хотя бы по какому признаку TaskManager определяет состояние процесса: "Работает","Не отвечает" >?
Насколько я помню там есть ключ в реестре который задает временной интервал.
А определяется вроде бы по тому что окно определенное время не обрабатывает сообщения.
Об этом написано у Рихтера.
А есть ли хоть сколько-нибудь универсальные методы определения зависания процесса ??? именно процесса!!!
кстати, если окно невидимое, то к нему не всегда применимы методы определения зависания!!