![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно заменить выделенный текст в окне другого приложени [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]
> часто глючит даже с блокнотом винды
что значит - глючит?