Задача для Win32 эксперта. Перехват выделеного текста в окне.

Владимир19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
03.07.2006

Требуется разработать механизм позволяющий перехватывать текст выделенный в окнеWindows приложения и передавать его в другое приложение.

Например пользователь выделяет текст в браузере, приложениях Microsoft Office или любом текстовом поле. Назовем это приложение «Source». Далее пользователь нажимает комбинацию клавиш, при этом в другом приложении (назовем его «Target»), использующем данный механизм, должно происходить событие (вызываться функция, посылаться сообщение в окно или еще как-то) и передаваться выделенный текст.

Source-приложением может быть большинство Windows приложений. Механизм должен как минимум правильно работать в Microsoft Word, Excel, Internet Explorer и стандартных окнах Windows. Допустимо, чтобы приложение не работало с Adobe Reader и Java-приложениями.

После срабатывания события в Target-приложении выделенный текст должен быть доступен как текстовая строка. Данное приложение программируется разработчиком, который должен далее работать с полученым текстом.

Предположительно библиотека должна быть написана на С++ без использования .Net Managed Code и использовать API для работы с окнами и API для работы с выделенным текстом. Очень желательно использовать Visual Studio 2005 или 2003.

Данную задачу можно решить копируя выделенный текст в буфер обмена, программно генерируя Ctrl-C, Ctrl-V. Такой подход неприемлем, поскольку содержимое буфера обмена при этом затирается.

Разрабатывать законченное приложение или библиотеку нет необходимости, достаточно лишь создать механизм относительно надежно работающий с большинством Windows окон/приложений, особенно IE и MS Office.