Да что я уже только не пробовал... Во все дыры засовывал свои перехватчики. Проблема в том, что определить факт нажатия Alt я могу, но подавить именно Alt - не могу, он же вроде как флаг идёт. Получается, или давится вообще всё тотально, или Alt не давится.
Для обнаружения нажатия Alt использую такую функцию:
Код:
function Tdm.AltDown : Boolean;
var
State : TKeyboardState;
begin
GetKeyboardState(State);
Result := ((State[vk_Menu] and 128) <> 0);
end;