Показать сообщение отдельно
  #1  
Старый 08.06.2012, 10:29
Yarcim Yarcim вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 9
Репутация: 10
По умолчанию Возможно ли с'эмулировать альтернативный ввод символов (Alt+NumPad)

Если тема не совсем понятна поясняю: Мне нужно с'эмулировать ввод символов в текущее мест курсора при помощи клавиши ALT+NumPad. (для тех кто не знает, если зажать клавишу Alt и ввести трихцифровой код, появится знак из ASCII таблицы). Так вот мне нужно это сделать программно.

Пробую так, но желаемого эффекта не получается.
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
   Memo1.SetFocus;

  keybd_event(VK_MENU,0, 0, 0);
  keybd_event(VK_NUMPAD3,32,0, 0);
  keybd_event(VK_NUMPAD3,32,KEYEVENTF_KEYUP, 0);
  keybd_event(VK_NUMPAD9,32,0, 0);
  keybd_event(VK_NUMPAD9,32,KEYEVENTF_KEYUP, 0);
  keybd_event(VK_NUMPAD5,32,0, 0);
  keybd_event(VK_NUMPAD5,32,KEYEVENTF_KEYUP, 0);

keybd_event(vk_menu, 0, keyeventf_keyup, 0);

end;
По хорошему должна появиться русская буква "Л" (Alt+Num395),но ничего не выходит.

Может быть я что-то делаю не так, или существует какое-то аппаратное ограничение на программный ввод таким способом?
Ответить с цитированием