Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как программно заменить выделенный текст в окне другого приложени [D7, WinXP]


vann ©   (2007-04-20 10:27:00) 

Мне нужно из своей программы менять выделенный текст в окнах ввода/редакторах других приложений. Я получаю хендл нужного окна, но каким образом мне сначала прочесть выделенный текст, а потом заменить его? Я пробовал делать это через отправку сообщений WM_COPY и WM_PASTE, но этот метод работает не со всеми приложениями и часто глючит даже с блокнотом винды. Есть еще какой-нибудь способ, кроме WM_COPY и WM_PASTE?


Leonid Troyanovsky   (2007-05-21 19:27:00) [1]


> vann   (20.04.07 10:27)  

> Мне нужно из своей программы менять выделенный текст в окнах
> ввода/редакторах других приложений.

То, что представляется нам как, например, EDIT
в других приложениях может им и не быть.
Скажем, в NT4 окно калькулятора, куда вводятся
значения был STATIC.

Т.е., для столь общего случая - простых решений нет.

--
Regards, LVT.


phanatos   (2007-05-21 18:57:00) [2]

Задержку надо ставить, задержку (sleep), чтобы приложение успевало обработать твои сообщения. А не со всеми приложениями работает, потому что не тому окну сообщения шлешь. Проще и надежнее было бы посылать события функцией keybd_event. Можно также поставить хук WH_JOURNALPLAYBACK и проигрывать заранее записанную комбинацию клавиш =).


vann   (2007-04-20 12:12:00) [3]

срабатывает через раз-два.


clickmaker   (2007-04-20 11:05:00) [4]


> часто глючит даже с блокнотом винды

что значит - глючит?


Наверх

Титульная страница Поиск, карта сайта Написать письмо