SendMessage и keybd_event разные вещи.
keybd_event эмулируте нажатие клавиатуры, типо того что ты нажимаешь руками на клавиатуре.
а SendMessage отправляет сообщение о нажатие в определённое окно(например)
На счёт того что в контре не работает я не знаю, но в Lineage II это работает точно, сам делал. Есть ещё такой вариант
Код:
procedure EmulateKey(Wnd: HWND; VKey: Integer);
asm
push 0
push edx
push 0101H
push eax
push 0
push edx
push 0100H
push eax
call PostMessage
call PostMessage
end;
Эта процедура эмулирует нажатие кнопки на клаве. VKey это и есть кнопка.