Re[8]: Кто хорошо знает ф-цию AttachThreadInput
От: Andrew S Россия http://alchemy-lab.com
Дата: 19.08.04 09:24
Оценка:
B>>>>Рихтера прочел в 1-ю очередь,но даже у него не совсем понятно — можно
B>>>>ли получать сообщения, предназначенные для другого потока?

AS>>>Судя по Рихтеру, должны получать:


AS>>>

AS>>>When the user presses and releases a key, presses and releases a mouse button, or moves the mouse, the device driver for the hardware device appends a hardware event to the SHIQ, which wakes up the RIT. The RIT then extracts the entry from the SHIQ and translates the event into the appropriate WM_KEY*, WM_?BUTTON*, or WM_MOUSEMOVE message. The translated message is then appended to the appropriate thread's virtualized input queue (VIQ)


AS>>>

AS>>>You can force two or more threads to share the same virtualized input queue and local input state variables by using the AttachThreadInput function


AF>>На самом деле, нет. Все перечисленные выше сообщения посылаются конкретному окну, так что получит их тот поток, который владеет окном. Другое дело, что после AttachThreadInput события ввода в двух потоках будут сериализованы (именно в силу того, что они будут совместно использовать одну VIQ).


Знаем, что не получает — тут уже писали. Т.е. в данном случае Рихтер ошибается? По-крайней мере, интерпретировать его по-другому достаточно сложно — он пишет, что эти сообщения помещаются в VIQ, а AttachThreadInput расшаривает эти VIQ. Или тут уже собственно Get\PeekMessage будет выбирать только сообщения "своего" потока?
http://www.rusyaz.ru/pr — стараемся писАть по-русски
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.