Готово:
http://svn.lando.us/joey/Public/SO/SU114626
Используемый код захвата клавиатуры низкого уровня Stephen Taub. Может содержать ошибки, неправильное функционирование и другие странные вещи. Может съесть младенцев без предшествующего предупреждения. Щелкните правой кнопкой для закрытия.
Не стесняйтесь использовать или адаптировать код, как Вы считаете целесообразным.