Здравствуйте Kaa, Вы писали:
Kaa>Здравствуйте Vadim, Вы писали:
V>>Привет всем. V>>Как определить, что приложение не отвечает если в нем нет окон, но есть очередь сообщений.
Kaa>Use IsHungThread. См. QA>...>Потоки и процессы
Весь прикол в том у меня Win2000, а там функция IsHungAppWindow принимает хэндл окна. А задача такая, что есть множество процессов dllhost.exe, и нужно находить зависшие и убивать их. В крайнем случае, конечно можно искать и вызывать, сидящие там COM-объекты, но это более дорогой способ.
Re[3]: Как определить, что приложение не отвечает?
Здравствуйте Vadim, Вы писали:
V>А задача такая, что есть множество процессов dllhost.exe, и нужно находить зависшие и убивать их. В крайнем случае, конечно можно искать и вызывать, сидящие там COM-объекты, но это более дорогой способ.
Похоже, однако, что тот способ тебе никак не поможет. Вообще, определить, что dllhost.exe повис трудновато. Там ведь в одной квартире может быть много народу. При этом часть COM-объектов может портить жизнь IIS-у, а остальные успешно при этом отрабатывать. У меня была такая ситуация, когда в одном dllhost-е N процессов (логических, имеется ввиду) успешно выполняются, тогда как одному безумно хреново. Так-что, я слабо себе представляю, как без знания, что там внутри, определить, работает процесс или нет. А в нем же может выполняться все что угодно, вроде.
Алексей Кирдин
Re[4]: Как определить, что приложение не отвечает?
Здравствуйте Kaa, Вы писали:
Kaa>Здравствуйте Vadim, Вы писали:
V>>Весь прикол в том у меня Win2000, а там функция IsHungAppWindow принимает хэндл окна.
Kaa>Еще раз: Kaa>>>Use IsHungThread. См. QA>...>Потоки и процессы Kaa>http://rsdn.ru/qna/?baseserv/hungapp.xml
Kaa>Видишь разницу? Тут нет ни слова о окне. Только ид. процесса, и все. А его как получить — миллион+ способов.
IsHungThread есть только в Win9x, Me.
Re[5]: Как определить, что приложение не отвечает?