Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2007, 04:23   #1
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию Выделенный текст в другом приложении

Как сделать, чтобы при нажатии там сочетания клавишь программа перехватывала выделенный текст (ну там из аськи к примеру, из любого окна).. Вот, ну там делала с ней что-нить...


И ещё, если это не очень сложно, то можно, чтобы видоизмененную строку сразу же вставляла вместо выделенной?

Спасибо
Nez вне форума Ответить с цитированием
Старый 07.04.2007, 07:58   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

во первых тебе нажо поставить хук через SetWindowsHookex потом, обрабатывать в нём нажатия клавиш, если нажата требуемая клавиша (комбинация), то получать текст через хендл переданной процедуре обработчику
говори конктретнее в чём именно у тебя проблема
rpy3uH вне форума Ответить с цитированием
Старый 07.04.2007, 10:34   #3
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

Ну проблема в том, что я не знаю как) Я никогда с подобной штукой не работал..
Nez вне форума Ответить с цитированием
Старый 07.04.2007, 10:57   #4
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Цитата:
Сообщение от Nez
Ну проблема в том, что я не знаю как) Я никогда с подобной штукой не работал..
Не на много понятней стало!
Если нужен нормальный ответ, задавай по нормальному вопрос, а в данном конкретном контексте, если не получается образно объяснить пример задачи, то давай конкретную задачу, которая будет выполнятся твоей прогой, что именно ты от неё хочешь!
З.Ы. Если боишся за (с), то твоё дело .....
execom вне форума Ответить с цитированием
Старый 07.04.2007, 11:25   #5
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

Нужно, чтобы программа, при запуске запускалась.. Ну как DLLка какая-то или ещё что, я точно не знаю.. Но чтобы никакого окна там не выскакивало... вот...

Нужно, чтобы при выделении текста в любой области любого другого приложения (например в аське) при нажатии на F12, к примеру или любое другое сочетание клавишь, данная строка обрабатывалась и в обработаном виде вставлялась вместо выделенной.... Вот какбы как должно быть в идеале....
Nez вне форума Ответить с цитированием
Старый 07.04.2007, 17:40   #6
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

А область должна быть редактируемой юзером, или нет?
Visita Interiorem Terrae Rectificando Operae Lapidem...
Сильванович Михаил вне форума Ответить с цитированием
Старый 08.04.2007, 02:51   #7
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

Ну как бы если надо вставить будет потом строку, то ... да.. В противном случае ведь вообще ничео не получится... Ну так ближе к делу..
Nez вне форума Ответить с цитированием
Старый 08.04.2007, 12:21   #8
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

Если была нажата левая кнопка мыши и не отпущена, или
нажат shift (и не отпущен), идет проверка нажатия стрелок и перемещения курсора, после отпускания - результат выполнения функции - произощло выделение или нет. (причем, надо проверять ForegroundWindow и все его Child,
если текстовая область в фокусе в данный момент, то смело можно выполнять
вышеуказанные действия)
Далее при нажатии на F12 (Hook) помещается в буфер обмена нужная строка,
а потом просто имитируем вставку из буфера обмена - и будет тебе счастье.
(и не забываем перед этим сохранить содержание буфера, а после операций восстановить его.)
Visita Interiorem Terrae Rectificando Operae Lapidem...
Сильванович Михаил вне форума Ответить с цитированием
Старый 08.04.2007, 14:56   #9
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

фактически, насколько я понял, у тебя проблема во всем, тогда сначала разберись с хуками посмотри описание функции SetwindowHookEx, в книге флёнова "Delphi глазами хакера" есть пример клавиатурного шпиона

Последний раз редактировалось rpy3uH; 08.04.2007 в 15:00.
rpy3uH вне форума Ответить с цитированием
Старый 09.04.2007, 01:52   #10
Nez
Пользователь
 
Аватар для Nez
 
Регистрация: 15.01.2007
Сообщений: 72
По умолчанию

Спасибо.. Книжку обязаельно гляну.. Как только чего-нибудь добьюсь или узнаю - сообщу))
Nez вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отследить нажатие одной кнопки в другом приложении... ActiveX Win Api 4 04.04.2008 23:05
Изменение SysListView32 в другом приложении Legos Общие вопросы Delphi 1 16.10.2007 02:29
Выделенный текст в RichEdit Andr Компоненты Delphi 1 20.08.2007 20:53
найти выделенный текст в IWebBrowser kolli Компоненты Delphi 0 13.01.2007 17:53