Есть у меня программа, на которой размещен компонент Shockwave Flash.
В программе есть меню, в которые я хочу добавить нестандартные акселераторы, такие как Ctrl+Enter, Esc и т.д.
Просто поставить на форме KeyPreview=True и обрабатывать Form_KeyDown не получится, события не происходят (из-за флеша). По той же причине не применим сабклассинг с отлавливанием сообщений WM_KEYDOWN, они просто не происходят.
Попробовал поиграться с AcceleratorTable, но там неожиданная проблема. В message loop надо вызывать TranslateAccelerator, а как добраться до него не соображу.
Конечно есть еще GetAsyncKeyState, но его хотелось бы избежать.