![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Необходимо получить данные из компонента чужой программы.
Electro © (2007-04-19 14:03:00)Необходимо получить данные из компонента TListView чужой программы.
С помощью АПИ получил хэндл компонента. А как получить указатель на компонент? ХЭЛП! =(
ANB (2007-04-19 17:34:00) [1]
> было бы здорово увидеть пример как сделать сабж =)
Нету примера. И быть не может. Для работы с ListView есть свой набор сообщений и это нетривиальная задача. Кстати, могу огорчить - далеко не у всех визуальных компонент делфи есть хэндл, а значит с ними нельзя работать через сообщения (в частности label - это просто картинка на окне).
clickmaker (2007-04-19 16:06:00) [2]http://www.google.ru/search?hl=ru&newwindow=1&q=ListView+ReadProcessMemory&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
Electro (2007-04-19 15:57:00) [3]было бы здорово увидеть пример как сделать сабж =)
clickmaker (2007-04-19 15:19:00) [4]
> как получить указатель на компонент?
в терминах ОС никаких компонентов нет. Только окна. Поэтому тут 2 пути.
1) если допустимо, посылать напрямую SendMessage(Handle, ....)
2) если недопустимо 1), т.е. требуется указатель на область памяти, внедряться в чужой процесс и там делать 1)
Сергей М. (2007-04-19 15:18:00) [5]
> и т.д.
Не то что "и т.д.", а любоеобращение к такому вот самостийно состряпанному ListView1 приведет к исключению.
Electro (2007-04-19 15:16:00) [6]ListView1.Items.Item[0].Caption и т.д.
Сергей М. (2007-04-19 14:54:00) [7]Ну присвоил.
И ?
Electro (2007-04-19 14:43:00) [8]создаю переменную типа TListView и присваиваю ей указатель
Сергей М. (2007-04-19 14:38:00) [9]
> как получить указатель на компонент?
Предположим, ты его получил. Что дальше ?