![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Sentynel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 20.12.2004 Где: Deutschland, Cell e Репутация: нет Всего: нет |
Всем привет!
![]() Требуется помощь для извлечения текста Label из чужой программы. Использую FindWindowEx но дескриптор Label не определяется. Может кто знает решение этой задачи, желательно с примером для ясности. Заранее спасибо!!! ![]() |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Имхо
не является окном и у него нет хендела, это просто картинка на окне , и текст просто с него ты не вытащишь -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Sentynel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 20.12.2004 Где: Deutschland, Cell e Репутация: нет Всего: нет |
Тогда каким образом можно взять этот же текст из ListView ?
![]() |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Дык
не есть И листвью это окно , там можно многое ![]() Что конкретно нужно то? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Sentynel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 20.12.2004 Где: Deutschland, Cell e Репутация: нет Всего: нет |
Конкретно ситуация такая.
Имеется список ListView с графами имя, время, город,..... Активная строка списка отображается в текстах Label-ей , необходимо получить текст активной строки из графы "Время". ![]() |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Имхо легче попросить отдать
у типа такого ListView_GetItemText, чем пытатся чтото взять у -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Sentynel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 20.12.2004 Где: Deutschland, Cell e Репутация: нет Всего: нет |
А пример можно для наглядности ?
![]() |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
Добавлено @ 20:01 P. S. Большой пример писать сейчас нету времени ![]() |
|||
|
||||
Sentynel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 20.12.2004 Где: Deutschland, Cell e Репутация: нет Всего: нет |
Что то по началу писал кракозяблики, а теперь ничего непишет типа строка пустая .
![]() |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 18 Всего: 29 |
Sentynel, потому что данный код будет работать только в пределах адресного пространства вызывающего приложения. Изучайте матчасть, по приходу LVM_GETITEMTEXT данные ложаться в структуру под которую выделена память в адрессном пространстве процесса. Приведенным выше кодом получить можно только данные из собственного ListView;
|
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 13 Всего: 111 |
Блин, не знал. |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 18 Всего: 29 |
Yanis, этот момент был упомянут у Рихтера. Там же указывалось почему можно получить текст из EDIT и нельзя из более новых контролов. И там же показывался способ получения из удаленного приложения.
|
|||
|
||||
Smailik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 8.5.2006 Репутация: нет Всего: нет |
||||
|
||||
Nickel |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 7.2.2006 Репутация: 2 Всего: 4 |
Пожалуйста, написал код, который позволяет брать текст любого листвью:
Как работает: внедряем поток в чужой процесс, который выделят память, просим ListView послать данные в эту область памяти и читаем их оттуда. Как видите есть небольшая проблемка с WaitForSingleObject. ЗЫ: мож в арсенал форумистов добавить или в DRKB? |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 18 Всего: 29 |
А зачем заморочки с CreateRemoteThread?
Он там не к месту - банально выделяем память и читаем оттуда... Пример в соседней ветке про RichView ЗЫ: кстати в твоем примере выделенную память Пушкин будет освобождать? ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |