Показать сообщение отдельно
  #5  
Старый 25.06.2012, 22:33
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Наверное ошибаюсь, но похоже 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-кодах не придётся
Ответить с цитированием