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