
Сообщение от
Titus
Мне все же кажется, что это накладки из-за того, что хук не в длл. Попробую выяснить.
Быть такого не может - между EXE и DLL нет практически ни какой разницы. Скорее - там где-то Sleep( x ) всех спать отправляет.
---------- Post added at 13:05 ---------- Previous post was at 12:47 ----------
Разборщик сообщений в хук-тесте выглядит так:
Код:
dword uTC = GetTickCount();
MSG msg;
for(;;)
{
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
if( msg.message == WM_QUIT ) break;
}
Sleep(1);
if( GetTickCount() - uTC > 20000 ) { break; }
};
Строчка Sleep(1); применена для того, чтобы не отбирать у процессора слишком много времени.
Но при этом - разборщик не может обработать больше 1000 сообщений в секунду. Если сообщений будет приходить больше ( что в данном тесте полностью исключено ) - сообщения перестанут обрабатываться в реальном времени и всё начнёт дико тормозить.