Re[2]: WM_QUERYENDSESSION & Post/SendMessage???
От: SomeFellow  
Дата: 04.02.06 02:02
Оценка: 1 (1)
Здравствуйте, Rosigma, Вы писали:

R>4. 5 секунд система "думает": окна продолжают получать сообщения.


Ага, система считает, что поток "висит", если он не отвечает больше 5 с (например, не возвращает результат из оконной процедуры)

R>Следовательно, возникли новые вопросы:

R>1. Как "избавиться" от появления окна "Программа не отвечает. Завершить сейчас?"? Почему программа "не отвечает"?

В запутанных случаях я отслеживал прохождение сообщений, регистрируя нужные мне в оконных процедурах — несколько раз ещё и в цикле выборки — и сбрасывал лог в файл (у меня была масса проблем с обработкой сообщений в приложениях на основе WTL, а Spy++ постоянно вис (и вешал систему) при трассировке WTL-приложений).

R>Есть многооконное и многопоточное приложение.


Оконные процедуры обращаются к ф-циям других потоков? Я верно понял: сообщения для QD, P и IM обрабатываются в одном потоке? Сколько очередей сообщений имеет этот поток? Другие потоки также имеют свои очереди сообщений? Или у них есть оконные процедуры, а сообщения выбираются из очереди(ей), принадлежащей другому потоку?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.