![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с SysListView32? [D7, Win2k]
Разведчик © (2002-12-01 23:51:00)У меня вот какая проблема. Мне надо получить текст из окна чужой программы, содержащийся в определенной ячейке List View. В WINAPI есть функции управления этим компонентом ListView32, но они работают частично. Например LVM_GETITEMCOUNT работает и я могу стирать ячейки.
Но вот в чем проблема когда я пытаюсь получить текст макросом (пробовал и сообщения) ListView_GetItemText(HWND hwnd,int iItem, int iSubItem, LPSTR pszText,int cchTextMax); Ничего не выходит. =(
Например мне надо получить текст ячейки 1,1
Вот кусок исходного кода (может я что неправильно делаю):
Я получил хенд HWNDDList а дальше
GetMem(R,255);
ListView_GetItemText(HWNDDList,1,1,R,255);
..........
FreeMem(R);
Посоветуйте, что-нибудь.
Спасибо.
Разведчик (2002-12-02 17:05:00) [1]Понял, всем большое спавибо!
Eugen Honeker (2002-12-02 16:04:00) [2]я скинул в кладовку прoгу textgrabber,
она ето делает. смотри исходники.
Suntechnic (2002-12-02 15:48:00) [3]Джеффри Рихтер "Programming Applications for Microsoft Windows". Или в русской из серии книг "Windows для профессионалов" и назывется "Создание эффективных Win32 приложений" Лучше всего последнне 4-е издание. Но и более ранние тоже пойдут.
>И где его найти?
У меня есть английская версия в электронном виде. Где-то на сайте Анатолия Подгорецкого валялась даже русская версия. Поищи.
Разведчик (2002-12-02 13:56:00) [4]Не сочтите за грубость, что еще за "Рихтер" (Книга или человек)?
И где его найти?
Suntechnic (2002-12-02 06:23:00) [5]Ключевая фраза в твоём вопросе " чужой программы".
Тот макрос что ты используешь на самом деле обычная обёртка вокруг сообщения LVM_GETITEMTEXT. А оно в своё очередь оперирует структурой. А структуры ни в чужие приложения, ни оттуда просто так не передаются. Надо внедрятся в чужое адресное пространсто, чтобы это всё заработало. За подробностями к товарищу Рихтеру.