Наверное ошибаюсь, но похоже keybd_event больше двух посылок одновременно не отправляет, по крайней мере мне этой устаревшей функцой ничего эмульнуть кроме типа Ctrl+V или Ctrl+C не удалось. Предлагаю вместо неё использовать более продвинутую SendInput:
Код:
TForm1.Button1Click(Sender: TObject);
var
b: array [0..1] of TInput;
begin
memo1.SetFocus;
FillChar(b, SizeOf(b), 0);
b[0].Itype:= 1; // INPUT_KEYBOARD
b[0].ki.wScan:= Word('Л');
b[0].ki.dwFlags:= 4; // KEYEVENTF_UNICODE
SendInput(Length(b), b[0], SizeOf(TInput));
end;
Шлёт кому и куда угодно любые чарки, даже в юникоде, главное чтоб у принимающей стороны фокус был, да и думать о ASCII-кодах не придётся