Здравствуйте, Rosigma, Вы писали:
R>4. 5 секунд система "думает": окна продолжают получать сообщения.
Ага, система считает, что поток "висит", если он не отвечает больше 5 с (например, не возвращает результат из оконной процедуры)
R>Следовательно, возникли новые вопросы: R>1. Как "избавиться" от появления окна "Программа не отвечает. Завершить сейчас?"? Почему программа "не отвечает"?
В запутанных случаях я отслеживал прохождение сообщений, регистрируя нужные мне в оконных процедурах — несколько раз ещё и в цикле выборки — и сбрасывал лог в файл (у меня была масса проблем с обработкой сообщений в приложениях на основе WTL, а Spy++ постоянно вис (и вешал систему) при трассировке WTL-приложений).
R>Есть многооконное и многопоточное приложение.
Оконные процедуры обращаются к ф-циям других потоков? Я верно понял: сообщения для QD, P и IM обрабатываются в одном потоке? Сколько очередей сообщений имеет этот поток? Другие потоки также имеют свои очереди сообщений? Или у них есть оконные процедуры, а сообщения выбираются из очереди(ей), принадлежащей другому потоку?