Вопрос о перехвате выделенного текста.
Допустим, запущен блокнот. В нем набран какой-то текст. Я выделил половину текста, но не копировал его в буфер, просто выделил. И нажал горячую клавишу. Мой wndProc отловил нажатие HotKey и дальше мне надо получить текст из активного онка (тобишь из блокнота) к себе в прогу. Как это сделать не подгружая библиотеки типа kernel32 итд итп? Возможно вообще или нет?
Допустим, посылать сообщения в активное окно можно через SendKeys, а читать?
Спасибо за ответы:-)
Цитата: NeO_u
СМой wndProc отловил нажатие HotKey и дальше мне надо получить текст из активного онка (тобишь из блокнота) к себе в прогу. Как это сделать не подгружая библиотеки типа kernel32 итд итп? Возможно вообще или нет?
Нет ничего невозможного. Но придется работать через WinAPI и посылку сообщений.
Кстати, kernel32 подгружается всегда, вне зависимости от типа приложения - такова специфика процессов Windows.
Цитата: hardcase
Нет ничего невозможного. Но придется работать через WinAPI и посылку сообщений.
Кстати, kernel32 подгружается всегда, вне зависимости от типа приложения - такова специфика процессов Windows.
Кстати, kernel32 подгружается всегда, вне зависимости от типа приложения - такова специфика процессов Windows.
Я понимаю. Но это при условии, что приложение пишется под C++. Меня же интересует под C#. Я хотел бы перехватывать все это дело без dllimport и вообще используется WinAPI. Возможно такое?
а если надо просто найти выделенный текст, то копай в сторону EM_ сообщений (описаны в MSDN) - ищешь Selection Start и Selection End, дальше читаешь данные с активного элемента и отсчитываешь от Selection Start до Selection End - это и будет выделенный текст.
думаю, должно сойти за правду =)