Как узнать из VB, какой текст выделен в другом приложении?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rewizorr
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 18.03.2007 (Вс) 5:04

Как узнать из VB, какой текст выделен в другом приложении?

Сообщение Rewizorr » 18.03.2007 (Вс) 5:15

С помощью какого кода можно узнать из VB-проги, какой текст выделен в другом приложении :?:

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.03.2007 (Вс) 11:09

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

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 18.03.2007 (Вс) 13:48

Ну, почему же. Если это, скажем, RTB, и Handle его известен, то достаточно вызвать SendMessage(Handle, EM_GETSELTEXT, 0, lpBuffer);

Найти Handle можно через WindowFromPoint, FindWindow[Ex]...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.03.2007 (Вс) 14:09

:roll:
Я говорю, в общем случае это невозможно. А не в частном, как с textbox или rtb. Я нарисую текст на picturebox и разрешу его выделять мышью. И всё. IE вон рисует, и текст, и кнопки.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

RUSYA
Обычный пользователь
Обычный пользователь
 
Сообщения: 84
Зарегистрирован: 22.07.2005 (Пт) 20:17
Откуда: Харьков

Сообщение RUSYA » 18.03.2007 (Вс) 22:46

Ну насчёт картинки это конечно совсем грубо :)
Может просто воспользоваться буферобменой? Просто SendKey CTRL+C и со своей проги clipboard.gettext его... Более примитивней и придумать сложно...
А как оно на самом деле - Х.З. !


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 107

    TopList