Внешний вид сайта:

Как послать символ в другое приложение

Для того, чтобы отправить символ в другое приложение из Вашего нужно проделать ряд операций. Сначала нужно узнать идентификатор окна чужого приложения. Затем находим идентификатор поля ввода или текстового поля. И наконец, отправляем символ при помощи SendMessage.

Код, который при нажатии на кнопку отправляет букву А в Блокнот Windows. Блокнот должен быть запущен.

procedure TForm1.btnSendCharClick(Sender: TObject);
var
  wnd: HWND;
  child: integer;
begin
  { Находим главное окно приложения }
  wnd:= FindWindow('Notepad', nil);
  { Находим поле ввода текста }
  child:= ChildWindowFromPoint(wnd, point(50, 50));
  { Посылаем символ в поле ввода (букву А) }
  SendMessage(child, WM_CHAR, Ord('A'), 0);
end;

Пример с отправкой целой строки и установкой курсора в заданную позицию:

procedure TForm1.Button1Click(Sender: TObject);
var
  wnd: HWND;
  child: integer;
  s:string;
begin
  s:= 'Any text...';
  { Находим главное окно приложения }
  wnd:= FindWindow('Notepad', nil);
  { Находим поле ввода текста }
  child:= ChildWindowFromPoint(wnd, point(50, 50));
  //SendMessage(child,EM_SETSEL,5,5);       // установить курсор в заданную позицию
  SendMessage(child,EM_REPLACESEL,10,lparam(PChar(s))); // 10-позиция курсора,s-строка
  { Посылаем символ в поле ввода (букву А) }
//  SendMessage(child, WM_CHAR, Ord('A'), 0);
end;

Комментарии

Нет комментариев. Ваш будет первым!