Цитата Сообщение от 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 сообщений в секунду. Если сообщений будет приходить больше ( что в данном тесте полностью исключено ) - сообщения перестанут обрабатываться в реальном времени и всё начнёт дико тормозить.