AA>А можно поподробнее?
А то я как-то не понял, как повесить хук на поток.
SetWindowsHookEx(CBT_MESSAGE, MyHookProc, NULL, GetCurrentThreadId());
Возможно вместо CBT_MESSAGE надо будет использовать другой код. Просто взял пример из своего кода, давно уже так делал, не помню точно, для чего там нужно было вешать хук на себя.
В процедуру MyHookProc будут приходить все сообщения данного потока.
Просто хуки перехватывают сообщения еще на стадии GetMessage — кто бы ее не вызвал в данном потоке.