El problema del OnKeyPress es que no te da información extra de teclas de CTRL, ALT,... como hacen por ejemplo el OnKeyDown/OnKeyUp.
La primera opción es ver si puedes cambiar el código a uno de estos eventos.
Si no puedes, la otra opción es utilizar la API para preguntar cómo está en un momento dado una determinada tecla.
GetKeyState o
GetKeyboardState te pueden servir.
Para ver cómo se usan puedes revisar
este post de Roman.