Прежде всего, имейте в виду, что GetMessage () возвращает только опубликованные сообщения. Их не так много, сообщения мыши и клавиатуры, WM_INPUT, WM_TIMER, WM_PAINT, WM_QUIT. Плюс ко всему, что ваш собственный код доставляет, вызывая PostMessage (), WM_USER + сообщения.
Использование фильтра довольно необычно, обычно вы пропускаете 0 и 0, поэтому ничего не фильтруется. Вы можете рассмотреть возможность передачи WM_PAINT для сброса всех ожидающих запросов на рисование. Я не могу представить себе веской причины фильтровать сообщения мыши или клавиатуры. Но конкретный вариант использования - это ваши собственные опубликованные сообщения. Обычно используется для доставки уведомлений из рабочего потока в поток пользовательского интерфейса, например. Возможно, вы захотите отфильтровать их, чтобы они обрабатывались раньше любого из обычных сообщений.
Просто положи это в задний карман. Вы можете использовать его когда-нибудь.