|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2007, 05:13 | #1 |
Новичок
Джуниор
Регистрация: 04.06.2007
Сообщений: 2
|
Текст другого окна
Здравствуйте. Извиняюсь сразу, если на форуме уже есть ответ на этот вопрос , но я не нашел, то что мне надо.
проблема такая: Есть окно в чужой программе - класс TExecDBgrid. Я начинаю только с АПИ работать и меня хватило только на то чтобы присвоить это окно переменной типа HWND. Могу закрыть-открыть и т.д. А мне надо проанализировать содержимое ячеек. Можно как-нибудь с этим окном работать, как с DBgrid? Чтоб можно было иметь Col, row и т.п.? Или это не возможно? |
14.06.2007, 22:59 | #2 |
Пользователь
Регистрация: 08.04.2007
Сообщений: 15
|
В виндоусе с каждым выдимым объектом (окном) ассоциируется строковая константа, которая задаётся при создании этого объекта и доступна для сторонних приложений. Получить и изменить её можно с помощью GetWindowText() и SetWindowText(). В некоторых случаях эта константа напрямую связана с изображением объекта, как то метки, заголовки окон, поля ввода и подобные элементики. Если текстовое содержимое объекта не связано с этой константой, что имеет место быть в вашем, iron, случае, то получить его никак нельзя (если конечно не вторгаться в память чужого процесса).
Практика - лучший критерий истины. К.Маркс.
|
15.06.2007, 11:54 | #3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Get/setwindowtext тут вообще ни при чём.
Стандартных сообщений (типа как для list- и combobox, LB_* и CB_*) для работы с такой фигнёй винде нет, наверняка он работает с WM_USER, знач единственный выход пошпионить за той прогой прогой, где он находится, перехватывать сообщения, и разбиратся, как он реагирует на WM_USER+... Кстати чё за программа?
пыщь
|
15.06.2007, 12:21 | #4 |
Пользователь
Регистрация: 08.04.2007
Сообщений: 15
|
Интересно, а как это можно сделать? Я имею ввиду, как узнать, как программа реагирует на WM_USER+. Если вас не затруднит, JTG, выложите какой-нибудь пример на эту тему.
Практика - лучший критерий истины. К.Маркс.
|
15.06.2007, 12:39 | #5 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Да вот хотя б этим http://www.firststeps.ru/mfc/steps/r.php?47
Ещё в папке bin дельфы лежит довольно древняя прога (не помню название), тоже перехватывает сообщения окон. Запускаешь прогу, где этот grid проклятый, находишь монитором окно, делаешь чё-то, чтоб в него, к примеру, добавилась строка и смотришь, что за сообщение было ей передано в этот момент, и соотв. lparam, wparam. Выделяешь мышей клетку - снова записываешь, какое сообщение, и т.д. Скорее всего это будет WM_USER+что-то (хотя может этот компонент и не использует сообщения windows, тады ой (но маловероятно))
пыщь
Последний раз редактировалось JTG; 15.06.2007 в 12:45. |
15.06.2007, 14:28 | #6 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
Если контрол кастомный, то скорее всего единственное сообщение, которое ему нужно - это WM_PAINT (ну и парочка для работы со сролами )
|
15.06.2007, 16:14 | #7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
ПРОГУ В СТУДИЮ!!! (если это не exel O_o)
пыщь
|
18.06.2007, 03:39 | #8 |
Новичок
Джуниор
Регистрация: 04.06.2007
Сообщений: 2
|
Товарищи! Извиняюсь, что долго отсутствовал - у меня дочь родилась ну и таво... . Прога называется БАНК-КЛИЕНТ. В одной из ячеек этой Grid есть слово "импортирован". Мне надо определить его местоположение (слова этого), программно кликнуть по нему мышом, потом ещё раз программно пару раз кликнуть по определенным координатам... И ВСЕГО-ТО!!! только чет не догоню, как...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одно без другого | Принц | Свободное общение | 2 | 30.05.2008 22:50 |
Размер окна в зависимости от размера окна | Reverent | JavaScript, Ajax | 1 | 02.02.2008 15:49 |
закрыть все дочерни окна, кроме главного окна | Worms | Общие вопросы Delphi | 2 | 03.12.2007 22:18 |
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? | dimonchuk | Общие вопросы Delphi | 1 | 11.08.2007 12:13 |