Я разрабатываю интерфейс для дополнения к игре. Я не могу использовать игровой API (по нескольким причинам, включая тот факт, что код должен быть независимым от игры), и мне нужно получить ввод с клавиатуры от пользователя, поэтому я решил использовать клавиатуру (WH_KEYBOARD) для обработки пользователя ввод при соблюдении определенных условий.
Проблема в том, что, хотя я могу правильно получать и обрабатывать ввод, когда мой хук возвращает TRUE вместо CallNextHookEx , система, похоже, занимает много времени (более 800 мс), прежде чем все пойдет как положено и это неприемлемо, потому что оно даже не позволяет набирать текст.
Я должен предотвратить попадание сообщения о нажатии клавиши в WndProc, поэтому возникает вопрос: что я могу сделать, чтобы достичь своей цели, не повреждая при этом производительность игры, чтобы результат был неприемлемым?
РЕДАКТИРОВАТЬ: из-за особых требований (игры, использующие античиты, которые могут создать проблемы с моим кодом, несмотря на то, что он не связан с мошенничеством), подклассирование активного wndproc не вариант.