Возможно, вы хотите прокачать сообщения . Типичный цикл сообщений выглядит примерно так:
BOOl ret;
MSG msg;
while ((ret=::GetMessage(&msg, hWnd, 0, 0))!=0)
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
У вас, кажется, нет действительного окна для прокачки, и вы не говорите, что на самом деле делает SetHook
- может быть, это сможет предоставить вам?
Другой метод заключается в использовании MsgWait
функций . Может быть, у вас есть какой-то дескриптор, который вы ожидаете, чтобы получить сигнал, чтобы вы могли выйти?:
while (::MsgWaitForMultipleObjects(1, &handle, FALSE, INFINITE, QS_ALLEVENTS)==WAIT_OBJECT_0+1+
{
BOOl ret;
MSG msg;
while ((ret=::PeekMessage(&msg, hWnd, 0, 0, TRUE))!=0)
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}