Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос о перехвате выделенного текста.

489
18 апреля 2008 года
NeO_u
277 / / 11.10.2006
Суть вопроса состоит в следующем:
Допустим, запущен блокнот. В нем набран какой-то текст. Я выделил половину текста, но не копировал его в буфер, просто выделил. И нажал горячую клавишу. Мой wndProc отловил нажатие HotKey и дальше мне надо получить текст из активного онка (тобишь из блокнота) к себе в прогу. Как это сделать не подгружая библиотеки типа kernel32 итд итп? Возможно вообще или нет?
Допустим, посылать сообщения в активное окно можно через SendKeys, а читать?

Спасибо за ответы:-)
5
18 апреля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: NeO_u
СМой wndProc отловил нажатие HotKey и дальше мне надо получить текст из активного онка (тобишь из блокнота) к себе в прогу. Как это сделать не подгружая библиотеки типа kernel32 итд итп? Возможно вообще или нет?

Нет ничего невозможного. Но придется работать через WinAPI и посылку сообщений.

Кстати, kernel32 подгружается всегда, вне зависимости от типа приложения - такова специфика процессов Windows.

489
18 апреля 2008 года
NeO_u
277 / / 11.10.2006
Цитата: hardcase
Нет ничего невозможного. Но придется работать через WinAPI и посылку сообщений.

Кстати, kernel32 подгружается всегда, вне зависимости от типа приложения - такова специфика процессов Windows.



Я понимаю. Но это при условии, что приложение пишется под C++. Меня же интересует под C#. Я хотел бы перехватывать все это дело без dllimport и вообще используется WinAPI. Возможно такое?

92
18 апреля 2008 года
Тень Пса
2.2K / / 19.10.2006
ищешь handle активного окна, в нём активный элемент и шлёшь ему Ctrl+C. это если надо скопировать.

а если надо просто найти выделенный текст, то копай в сторону EM_ сообщений (описаны в MSDN) - ищешь Selection Start и Selection End, дальше читаешь данные с активного элемента и отсчитываешь от Selection Start до Selection End - это и будет выделенный текст.

думаю, должно сойти за правду =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог