Как определить, что приложение не отвечает?
От: Vadim  
Дата: 15.08.02 11:53
Оценка:
Привет всем.
Как определить, что приложение не отвечает если в нем нет окон, но есть очередь сообщений.
Re: Как определить, что приложение не отвечает?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 15.08.02 11:57
Оценка:
Здравствуйте Vadim, Вы писали:

V>Привет всем.

V>Как определить, что приложение не отвечает если в нем нет окон, но есть очередь сообщений.

Use IsHungThread. См. QA>...>Потоки и процессы
Алексей Кирдин
Re[2]: Как определить, что приложение не отвечает?
От: Vadim  
Дата: 15.08.02 12:38
Оценка:
Здравствуйте Kaa, Вы писали:

Kaa>Здравствуйте Vadim, Вы писали:


V>>Привет всем.

V>>Как определить, что приложение не отвечает если в нем нет окон, но есть очередь сообщений.

Kaa>Use IsHungThread. См. QA>...>Потоки и процессы


Весь прикол в том у меня Win2000, а там функция IsHungAppWindow принимает хэндл окна. А задача такая, что есть множество процессов dllhost.exe, и нужно находить зависшие и убивать их. В крайнем случае, конечно можно искать и вызывать, сидящие там COM-объекты, но это более дорогой способ.
Re[3]: Как определить, что приложение не отвечает?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 15.08.02 12:43
Оценка:
Здравствуйте Vadim, Вы писали:

V>Весь прикол в том у меня Win2000, а там функция IsHungAppWindow принимает хэндл окна.


Еще раз:
Kaa>>Use IsHungThread. См. QA>...>Потоки и процессы
http://rsdn.ru/qna/?baseserv/hungapp.xml

Видишь разницу? Тут нет ни слова о окне. Только ид. процесса, и все. А его как получить — миллион+ способов.
Алексей Кирдин
Re[3]: Как определить, что приложение не отвечает?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 15.08.02 12:50
Оценка:
Здравствуйте Vadim, Вы писали:

V>А задача такая, что есть множество процессов dllhost.exe, и нужно находить зависшие и убивать их. В крайнем случае, конечно можно искать и вызывать, сидящие там COM-объекты, но это более дорогой способ.


Похоже, однако, что тот способ тебе никак не поможет. Вообще, определить, что dllhost.exe повис трудновато. Там ведь в одной квартире может быть много народу. При этом часть COM-объектов может портить жизнь IIS-у, а остальные успешно при этом отрабатывать. У меня была такая ситуация, когда в одном dllhost-е N процессов (логических, имеется ввиду) успешно выполняются, тогда как одному безумно хреново. Так-что, я слабо себе представляю, как без знания, что там внутри, определить, работает процесс или нет. А в нем же может выполняться все что угодно, вроде.
Алексей Кирдин
Re[4]: Как определить, что приложение не отвечает?
От: Edmond  
Дата: 15.08.02 12:54
Оценка:
Чтобы убить ddllhost нужны права системы...
С уважением, Edmond
Re[4]: Как определить, что приложение не отвечает?
От: Vadim  
Дата: 15.08.02 13:04
Оценка:
Здравствуйте 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]: Как определить, что приложение не отвечает?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 15.08.02 13:05
Оценка:
Здравствуйте Edmond, Вы писали:

E>Чтобы убить dllhost нужны права системы...


Привилегии SE_DEBUG_NAME для администратора хватит с лихвой.
Алексей Кирдин
Re[5]: Как определить, что приложение не отвечает?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 15.08.02 13:11
Оценка:
Здравствуйте Vadim, Вы писали:

V>IsHungThread есть только в Win9x, Me.


А, это да. Это я проглядел.
Алексей Кирдин
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.