Как считать HINT под курсором на другом приложении?
От: Strimmer  
Дата: 15.05.06 11:51
Оценка:
Коллеги, подскажите как получить значение Hint для компонента другого приложения, над которым в данный момент находиться курсор......
Re: Как считать HINT под курсором на другом приложении?
От: ekamaloff Великобритания  
Дата: 15.05.06 12:16
Оценка:
Здравствуйте, Strimmer, Вы писали:

S>Коллеги, подскажите как получить значение Hint для компонента другого приложения, над которым в данный момент находиться курсор......


Если она (подсказка) отображена — найти окно (FindWindow) класса "THintWindow" в требуемом процессе (GetWindowThreadProcessId), получить его текст (GetWindowText). Одно но — если класс подсказки переопределен (HintWindowClass) или вообще используется свой механизм подсказок, этот метод не поможет.

Если подсказка не отображена, это тот еще гемор. На ум приходит внедрение своего кода в чужой процесс (VirtualAllocEx, CreateRemoteThread, поиск в гугле по "DLL injection"), нахождение требуемого контрола (FindControl) и передача текста подсказки в свое приложение (WM_COPYDATA, SetWindowText, любой IPC).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: Как считать HINT под курсором на другом приложении?
От: Аноним  
Дата: 15.05.06 12:17
Оценка:
S>Коллеги, подскажите как получить значение Hint для компонента другого приложения, над которым в данный момент находиться курсор......

IMHO вопрос сводится к "как определить, когда Windows открывает новое окошко, и как оттуда текст прочитать"

А это уже в форум по Windows


Другое приложение может быть на чем угодно написано: VCL, CLX, LCL, VB, MFC, Qt, GTK, Swing, SWT, разные вариации HMTL+JS... Под все билиотеки компонентов не заложишься
Re[2]: Как считать HINT под курсором на другом приложении?
От: Danchik Украина  
Дата: 15.05.06 12:26
Оценка:
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, Strimmer, Вы писали:


S>>Коллеги, подскажите как получить значение Hint для компонента другого приложения, над которым в данный момент находиться курсор......


E>Если она (подсказка) отображена — найти окно (FindWindow) класса "THintWindow" в требуемом процессе (GetWindowThreadProcessId), получить его текст (GetWindowText). Одно но — если класс подсказки переопределен (HintWindowClass) или вообще используется свой механизм подсказок, этот метод не поможет.


Еще неплохо бы помогло WindowFromPoint

E>Если подсказка не отображена, это тот еще гемор. На ум приходит внедрение своего кода в чужой процесс (VirtualAllocEx, CreateRemoteThread, поиск в гугле по "DLL injection"), нахождение требуемого контрола (FindControl) и передача текста подсказки в свое приложение (WM_COPYDATA, SetWindowText, любой IPC).


А файреволы не начнут кричать?
Re[3]: Как считать HINT под курсором на другом приложении?
От: Аноним  
Дата: 15.05.06 13:19
Оценка:
E>>Если подсказка не отображена, это тот еще гемор. На ум приходит внедрение своего кода в чужой процесс (VirtualAllocEx, CreateRemoteThread, поиск в гугле по "DLL injection"), нахождение требуемого контрола (FindControl) и передача текста подсказки в свое приложение (WM_COPYDATA, SetWindowText, любой IPC).

D>А файреволы не начнут кричать?


Фаёрволы то тут при чем? Вот хорошие антивирусы/антитрояны — те должны
Re[4]: Как считать HINT под курсором на другом приложении?
От: Danchik Украина  
Дата: 15.05.06 13:33
Оценка:
Здравствуйте, Аноним, Вы писали:

E>>>Если подсказка не отображена, это тот еще гемор. На ум приходит внедрение своего кода в чужой процесс (VirtualAllocEx, CreateRemoteThread, поиск в гугле по "DLL injection"), нахождение требуемого контрола (FindControl) и передача текста подсказки в свое приложение (WM_COPYDATA, SetWindowText, любой IPC).


D>>А файреволы не начнут кричать?


А>Фаёрволы то тут при чем? Вот хорошие антивирусы/антитрояны — те должны


Почему это не причем. Все хорошие файрволы тоже должны. Они ведь следят чтобы левый процесс не полез в Inet.
Представляем себе ситуацию: троян инжектится в IE и спокойненько лезет отсылат/качать себе все что угодно.
Re[5]: Как считать HINT под курсором на другом приложении?
От: Аноним  
Дата: 15.05.06 13:36
Оценка:
А>>Фаёрволы то тут при чем? Вот хорошие антивирусы/антитрояны — те должны

D>Почему это не причем. Все хорошие файрволы тоже должны. Они ведь следят чтобы левый процесс не полез в Inet.

D>Представляем себе ситуацию: троян инжектится в IE и спокойненько лезет отсылат/качать себе все что угодно.

А еще они должны резать баннеры, запоминать пароли, и качать обновления

Все же внедрение одних пограмм в другие — это едва ли функция файрволов. Хотя бы потому, что ползанье по инету от имени MS Office — далеко не единственное зло из-за внедрения.
Re[6]: Как считать HINT под курсором на другом приложении?
От: Strimmer  
Дата: 15.05.06 14:31
Оценка:
А можно как-нибудь получить это значение зная класс обекта и его хэндл?
Re[7]: Как считать HINT под курсором на другом приложении?
От: Danchik Украина  
Дата: 15.05.06 14:34
Оценка:
Здравствуйте, Strimmer, Вы писали:

S>А можно как-нибудь получить это значение зная класс обекта и его хэндл?


GetWindowTextLength и GetWindowText не помогают?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.