|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
отправка текста в чужое окно через PostMessage
Ребза привет)
ситуация такая отправляю текст в чужое окно через PostMessage окна каждый раз разные.. сразу объясню почему выбрал этот метод.. поправьте меня если ошибаюсь чтобы отсылать текст через SendMessage нужно знать точный "sub" хендл куда кидать текст а поскольку иногда узнать его невозможно выбрал PostMessage чтоб просто проэмулировать нажатие на клаве.. дело в том что когда фокусируешься на главном окне программы(target) курсор находится именно в том месте куда нужно вставлять текст.. теперь о самой проблеме вот так кидаю текст: for I:=1 to Length(MyText) do begin if (MyText[i] <> #13) then PostMessage(Target,WM_CHAR,Word(MyText[i]),0); end; обхожу #13 тк если несколько строк в тексте идёт отправка двух энтеров вместо одного (на #10 и на #13) в блокноте всё работает идеально.. всё правильно отправляет.. но если это например текстовое поле в браузере (firefox) не понимает..всё идёт в одну строку.. переход строчки не работает без обхода #13 тоже не работает.. попытался вместо #13#10 отправлять enter: PostMessage(Target, WM_KEYDOWN, VK_RETURN, 0); первую строку отправляет а вместо следующих строк только переносы на новую строку.. я подумал вдруг в браузере выделяется текст автоматом и когда эмулируется ентер он удаляется.. добавил перед VK_RETURN PostMessage(Target, WM_KEYDOWN, VK_END, 0); чтоб убралось выделение.. но всё равно не получается.. ммм :huh: помогите люди добрые)) |