Читать очередь сообщений?
От: Аноним  
Дата: 01.02.06 10:03
Оценка:
Хай!

Как можно читать очередь сообщений из другого потока когда известен токо HWND окна?

Спасибо?
Re: Читать очередь сообщений?
От: LuciferMoscow Россия  
Дата: 01.02.06 10:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хай!


А>Как можно читать очередь сообщений из другого потока когда известен токо HWND окна?


А>Спасибо?

Посмотри PeekMessage\GetMessage. Можно ли вызывать их — не знаю. Нужно ли вызывать из из другого потока — думаю, что не надо.
Re[2]: Читать очередь сообщений?
От: Аноним  
Дата: 01.02.06 10:09
Оценка:
Здравствуйте, LuciferMoscow, Вы писали:

LM>Здравствуйте, Аноним, Вы писали:


А>>Хай!


А>>Как можно читать очередь сообщений из другого потока когда известен токо HWND окна?


А>>Спасибо?

LM>Посмотри PeekMessage\GetMessage. Можно ли вызывать их — не знаю. Нужно ли вызывать из из другого потока — думаю, что не надо.

Ввообщем то модифицировать очередь мне не нужно, а нужно как SPY++ просто читать и кое какие мессаги обрабатывать — может хуки какие то можна сделать?
Re[2]: Читать очередь сообщений?
От: ekamaloff Великобритания  
Дата: 01.02.06 10:10
Оценка:
Здравствуйте, LuciferMoscow, Вы писали:

LM>Здравствуйте, Аноним, Вы писали:


А>>Хай!


А>>Как можно читать очередь сообщений из другого потока когда известен токо HWND окна?


А>>Спасибо?

LM>Посмотри PeekMessage\GetMessage. Можно ли вызывать их — не знаю. Нужно ли вызывать из из другого потока — думаю, что не надо.

Мимо, PeekMessage/GetMessage могут выбирать сообщения только из того потока, откуда они вызваны
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: Читать очередь сообщений?
От: ekamaloff Великобритания  
Дата: 01.02.06 10:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хай!


А>Как можно читать очередь сообщений из другого потока когда известен токо HWND окна?


А>Спасибо?


1) Можно поставить хук — см. SetWindowsHook
2) Возможно AttachThreadInput чем-то поможет, хотя может это и не в ту степь
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: Читать очередь сообщений?
От: AndreyGtk  
Дата: 01.02.06 10:26
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хай!


А>Как можно читать очередь сообщений из другого потока когда известен токо HWND окна?


А>Спасибо?



нужно подцепить это окно с помощью SetWindowsHook

список функций



CallMsgFilter
CallNextHookEx
CallWndProc
CallWndRetProc
CBTProc
DebugProc
ForegroundIdleProc
GetMsgProc
JournalPlaybackProc
JournalRecordProc
KeyboardProc
LowLevelKeyboardProc
LowLevelMouseProc
MessageProc
MouseProc
SetWindowsHookEx
ShellProc
SysMsgProc
UnhookWindowsHookEx
Re[3]: Читать очередь сообщений?
От: Slava Antonov Россия http://deadbeef.narod.ru
Дата: 01.02.06 11:31
Оценка:
Hello Аноним, you wrote:

> Ввообщем то модифицировать очередь мне не нужно, а нужно как SPY++ просто читать и кое какие мессаги обрабатывать — может хуки какие то можна сделать?


Самое оптимальное решение — хуки.
Только помните, что не все сообщения ставятся в очередь. А те что в нее поставлены, не обязаны попасть в оконную процедуру

--
Всего хорошего, Слава
ICQ: 197577902
Posted via RSDN NNTP Server 2.0
Re[4]: Читать очередь сообщений?
От: Аноним  
Дата: 01.02.06 12:34
Оценка:
Здравствуйте, Slava Antonov, Вы писали:

SA>Hello Аноним, you wrote:


>> Ввообщем то модифицировать очередь мне не нужно, а нужно как SPY++ просто читать и кое какие мессаги обрабатывать — может хуки какие то можна сделать?


SA>Самое оптимальное решение — хуки.

SA>Только помните, что не все сообщения ставятся в очередь. А те что в нее поставлены, не обязаны попасть в оконную процедуру

Как это?

SA>--

SA>Всего хорошего, Слава
SA>ICQ: 197577902
Re[5]: Читать очередь сообщений?
От: Slava Antonov Россия http://deadbeef.narod.ru
Дата: 01.02.06 13:40
Оценка:
Hello Аноним, you wrote:

>> Только помните, что не все сообщения ставятся в очередь. А те что в нее поставлены, не обязаны попасть в оконную процедуру


> Как это?


1) Вызов SendMessage не ставит сообщение в очередь. Это вызов оконной продедуры.
2) Цикл выборки сообщений может фильтровать их.

--
Всего хорошего, Слава
ICQ: 197577902
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.