Microsoft Spy++ 11 - программа в логах показывает, что получает выбранное окно.
В разделе SPY выставляешь что смотреть (окна, процессы, потоки). Смотрим процессы. Правой кнопкой мыши выбираешь процесс. Нажимаешь Message, получаешь лог сообщений. В опциях лога выбираешь какие сообщения тебе нужны(клава, мышь и тд). Переходишь в изучаемый процесс. Жмешь клавиши. В логе все сообщения получаемые процессом отражаются. На каждое сообщение можно посмотреть properties.
Для примера. Фильтр сообщений - Клава. Нажал F2.
В логе 2 сообщения:
Нажал F2
(Хендл окна. Сообщение 0100(не системно нажал). wParam(код F2). lParam(003C0001))
Отпустил F2
(Хендл окна. Сообщение 0101(не системно отпустил). wParam(код F2). lParam(C03C0001))
Тут можно почитать, как кодируется lParam(если не правильно, комбинация Alt+клавиша не пройдет)
http://decoding.dax.ru/practic/altcode/altcode.htmlps Посылка сообщений не является аналогом PS/2 режима. Т.е. если защита агрится на посылку сообщений о нажатии клавиши, то работать не будет, или выкинет из проги, или бан, или искать в защите слабое место, патчить его и радоваться жизни.
ps 2 Файл const.txt - дополненные константы оригинального Кликермана. В конце вложенного файла есть пример.