Карта сайтаСсылкиКонтакты

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

PDF Печать
Статьи

Для того, чтобы отправить символ в другое приложение из Вашего нужно проделать ряд операций. Сначала нужно узнать идентификатор окна чужого приложения. Затем находим идентификатор поля ввода или текстового поля. И наконец, отправляем символ при помощи 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;

 

Комментарии   

 
0 #11 http://olimpiyazk.ru 28.08.2017 17:33
Superb, what a weblog it is! This webpage gives helpful information to us, keep it
up.
Цитировать
 

Добавить комментарий


Защитный код
Обновить