|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.12.2016, 21:07 | #11 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,792
|
так, в продолжение этой темы. выяснил, что у всплывающих подсказок класс THintWindow. и возникают они только, если на компонент чужой программы навести мышь.
поэтому поправьте меня, если я ошибаюсь в последовательности своих действий: 1. я могу вывести хэндлы всех элементов как своей программы, так и чужих окон. и конкретно нужного мне элемента, у которого возникает подсказка. 2. я должен поставить глобальный хук на все события мышью. 3. мне надо будет отлавливать все события в системе и перебором выбирать только те, которые связаны с наведением мыши на компонент. 4. и надо будет из сообщений выуживать параметр, отвечающий за передаваемый текст. если да, то сразу спрошу, в приведённом коде надо что-то менять или он одинаково действует что для клавиатуры, что для мыши? Код:
Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 29.12.2016 в 21:50. |
30.12.2016, 16:57 | #12 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Можно поставить CBT_Hook и отлавливать появление окна класса THintWindow.
И потом уже над ним поэкспериментировать, может ему достаточно WM_GETTEXT послать. |
30.12.2016, 19:49 | #13 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,792
|
вобщем, вот какая каша. поставил ловушку на системные события CBT. коды взял отсюдова http://www.vsokovikov.narod.ru/New_M...fn_cbtproc.htm
123 - это заголовок моего окна, в котором смотрю результат. что параметр WParam, что LParam - выводятся цифры, вроде как на хэндлы похожи, есть короткие, есть длинные. то есть, реагирует и регистрирует что-то в системе происходят процессы. ставил и на СОЗДАНИЕ ОКНА и на то, что ОКНО будет активировано. для папок, программ всё работает - сообщения отлавливаются. но вот одна заминка: когда я навожу на кнопку и возникает подсказка, то никаких сообщений не регистрируется... то есть, подсказка THintWindow - это не окна??? и, то есть, пока WM_GETTEX, как вы сказали, я отослать не могу - потому что не отловил появление того окна... Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 30.12.2016 в 21:57. |
30.12.2016, 22:23 | #14 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,792
|
решил всё же что это хэндлы и потребовал от них вернуть текст. большинство сообщений (чисел) возникают при создании одной формы - это кнопки и прочие элементы.
Код:
Код:
докопался, блин, до каких-то системных процессов, аж страшно самому. жил себе счастливо, не зная про всю эту бухгалтерию.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
Последний раз редактировалось NetSpace; 30.12.2016 в 22:33. |
31.12.2016, 13:17 | #15 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,792
|
Сообщение о подсказке отлавливается и текст выуживаю, но почему-то работает только один раз. Подсказки две - у кнопки и у формы. И он какую первую выведет - та и держится. Но определяется, кажись, только подсказка у моего окна. у чужих как-то не показывает.
Кто сможет помочь? Проект программки и проект хука в архиве - можно открыть и править любой проект.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как узнать путь к файлу по хэндлу? | W0LF | Win Api | 6 | 01.01.2017 13:54 |
Получить PID по хэндлу окна | Xo66um | Общие вопросы Delphi | 3 | 28.07.2014 15:27 |
Путь к файлу по хэндлу окна | Veiron | Общие вопросы Delphi | 10 | 22.05.2009 20:47 |
Активировать всплывающую подсказку | Илюха | Общие вопросы Delphi | 6 | 13.12.2007 16:35 |