![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получить хинт из другого приложения [D6, XP]
Free_Breeze © (2007-12-13 12:00:00)Имеется чужое приложение (ехе-файл) с картинками, кнопками и пр. При наведении на картинки высвечивается хинт, как его можно получить в своем приложении (сам текст, который в хинте)?
P.S. Пробовал через handle - не получилось.
Amoeba (2007-12-14 18:46:00) [1]
> а вот например Handle object RegionLabel: TLabel, который
> на этой панели находится получить не получилось. может и
> тут поможете? Интересует естественно Caption у RegionLabel.
> ..
Это невозможно.
Free_Breeze (2007-12-14 15:08:00) [2]Лана, буду капать по сути вопроса дальше. Если найду решение - отпишу.
Если кто-то сможет всеже помочь по данному вопросу - отпишитесь =)
morgoth (2007-12-14 14:25:00) [3]из хелпа
TLabel is a nonwindowed control that displays text on a form.
morgoth (2007-12-14 14:16:00) [4]Что то я не уверен что ты получишь вообще хэндл лейбла, он нарисован, по-моему.
Free_Breeze (2007-12-14 14:13:00) [5]Накопал типа того:
object MainForm: TMainForm
Left = 132
Top = 152
AutoSize = True
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
ClientHeight = 671
ClientWidth = 702
...
object Panel1: TPanel
Left = 0
Top = 0
...
object RegionLabel: TLabel
Left = 202
Top = 221
...
object CountryLabel: TLabel
Left = 202
Top = 233
и так далее.
Кстати, Handle TPanel я смог найти, а вот например Handle object RegionLabel: TLabel, который на этой панели находится получить не получилось. может и тут поможете? Интересует естественно Caption у RegionLabel...
Free_Breeze (2007-12-14 14:07:00) [6]
> хинт не обязательно можно будет считать, потому что текст
> может быть просто отрисован...
та нет. клиента я уже немного расковырял, Явно написан на Дельфе. Хинты стандартные.
Может подскажите функцию возвращающую содержание хинта у компонента, handle которого уже известен???
morgoth (2007-12-14 10:05:00) [7]>>считать хинт, что я и пытаюсь добиться, но пока безуспешно (((
хинт не обязательно можно будет считать, потому что текст может быть просто отрисован...
Free_Breeze (2007-12-14 02:47:00) [8]К тому же изучение обмена клиент-игровой сервер ни к чему не приведет.
С его помощью конечно можно узнать какие мобы в данный момент на локации, но на какого из них пользователь навел мышку этим методом не выяснишь. Одновременно мобов на локе может быть до 10 штук.
Free_Breeze (2007-12-13 20:05:00) [9]
> лучше всего [9]
Пытался как-то написать проксю для перехвата обмена клиент-игровой сервер, но это во-первых притормаживает клиент, во вторых - настройка самого прокси в данном случае не предусмотрена. Если есть другая возможность отследить обмен клиент-игровой сервер - поделитесь, было бы очень интересно и гораздо упростило бы жизнь )))
Free_Breeze (2007-12-13 20:01:00) [10]
> А ты надеешься из хинта получить текстовую инфу о мобе и
> подставить свою?
Чтото типа того, только не менять хинт, а в своей форме полную инфу отображать. Окно у клиента фиксированное (не полноэкранное), так что для своей формы место найдется. Полная информация будет заложена в мою форму, и следовательно для работы утилитки достаточно только узнавать над каким мобом находится мыша, а пока мыша над мобом - постоянно высвечен хинт с его названием. Вот и напрашивается простейший метод его вычисления - считать хинт, что я и пытаюсь добиться, но пока безуспешно (((
morgoth (2007-12-13 17:12:00) [11]А ты надеешься из хинта получить текстовую инфу о мобе и подставить свою?
Free_Breeze (2007-12-13 17:02:00) [12]
> что же это за мобы такие, убегают гады )))
Да уж, на месте не стоят )))
> а потом сама его завалила и шмот подобрала наверное?
Ну это уже бот получится, я же обычно пишу "легальные" утилитки, которые иногда проходят проверку у администрации игр. Опыт в написании уже есть, а вот с этим клиентом загвоздка получилась.
> лучше всего [9]
Обмен клиент-сервер мне не по зубам пока. Даж не знаю с чего там подступиться
вот и хотелось как попроще, отработать с тем, что и так уже в наличии
morgoth (2007-12-13 16:19:00) [13]что же это за мобы такие, убегают гады )))
>>А по замыслу как раз и получается, что только мышкой на моба навел, а утилитка уже всю информацию о нем показала
а потом сама его завалила и шмот подобрала наверное?
лучше всего [9]
Free_Breeze (2007-12-13 15:54:00) [14]
> так если ее нету в том хинте
В том то и дело, что есть типа библиотеки на сайте игры, где все мобы описаны, но не будешь же при встрече каждого моба лесть в описание (даже если всю инфу у себя на компе сохранить), пока ищешь стоит ли с ним связываться он уже сбежит. А по замыслу как раз и получается, что только мышкой на моба навел, а утилитка уже всю информацию о нем показала (наполнение утилитки расширенной информации о мобах - это уже моя проблема, главное узнать из хинта название моба над которым в данное время курсор)
clickmaker (2007-12-13 15:48:00) [15]
> полную информацию о нем
так если ее нету в том хинте, что ж ты так упорно его мучаешь?
Надо другие пути искать. Например, через изучение формат обмена клиент-игровой сервер
Free_Breeze (2007-12-13 15:45:00) [16]
> Если дельфовый клиент УЖЕ отображает эту инфу, зачем еще?
Не совсем так. в хинте отображается только название моба и его уровень. Я же в своей проге (скажем так: в утилитке для клиента) хочу выводить полную информацию о нем. Например в клиенте игры при наведении на моба мышки появляется хинт "Пёс [4]". И в задумке, чтобы моя прога при этом показывала инфу такого порядка:
- Название моба: Пёс
- Уровень моба: 4
- НР моба: 200 (дабы примерно знать сколько нужно из него выбить для победы)
- Возможное вооружение: нет
- Возможная броня: Ошейник
Ну и так далее...
clickmaker (2007-12-13 15:29:00) [17]
> [6] Free_Breeze (13.12.07 15:25)
погоди. Если дельфовый клиент УЖЕ отображает эту инфу, зачем еще? Или ты своего клиента пишешь?
Free_Breeze (2007-12-13 15:25:00) [18]
> а кроме как из хинта, описание моба не узнать?
если только трафик перехватывать =(
Сейчас набросал прожку которая Handle и GetClassName показывает того, что под мышкой. Нужная панель с мобами обзывается TScrollPanel. И в том окне классов с таким именем как минимум три.
clickmaker (2007-12-13 15:14:00) [19]
> [4] Free_Breeze (13.12.07 15:13)
а кроме как из хинта, описание моба не узнать?
Free_Breeze (2007-12-13 15:13:00) [20]
> зачем?
Интересный вопрос. Ну к примеру клиент онлайн игры, который написан на Дельфе. В клиенте есть панель с изображением мобов (игроки, монстрики). При наведении на изображение моба появляется стандартный Hint, в котором отображается информация о нем. Мне вот захотелось написать программку, которая при наведении мышки на моба показывала полную информацию о нем...
Что-то типа того.