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