![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 153
|
![]()
Нужно прочитать syslistview32 в чужом приложении
и записать в свой listbox Спасибо |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Пример считывания с чужого листа ListView или syslistview32 в свой TStringGrid, можешь и под listbox сделать все в ваших руках.
Я даже рабочий стол считал этой функцией 1. К проекту добавить юнит: uses CommCtrl; 2. Вставь в форму TStringGrid 3. Перенести этот код к себе в проект Код: Код:
4. Использовать так: ALVHandle: это дескриптор листа которого нужно захватить syslistview32 AColumnCount: количество столбцов AItemCount: количество строк если поставить значение 0 то прочитает все строки. ADataGrid: это твой грид на твоей форме в котором будут отображаться строки с чужого ListView. Код: Код:
Последний раз редактировалось Aliens_wolfs; 24.07.2011 в 23:36. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 153
|
![]()
о спасибо за такой хороший ответ! а можно не писать в память чужого процесса с которого читаешь - прочто читать ее?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
не выйдет без записи.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 153
|
![]()
а если так:
Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
адрес должен быть в чужом процессе, а не в вашем.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 153
|
![]()
[Error] Unit1.pas(16): Unsatisfied forward or external declaration: 'TForm1.GetListViewGrid
на процедуру Aliens_wolfs, почему? |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
вообще то там описана рядовая процедура, а не метод класса.(а вы обьявили как метод)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 21.08.2009
Сообщений: 153
|
![]()
вроде все получилось но запутался с вызовом самой функции
исходник тут http://zalil.ru/31484231 |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]()
а разве нельзя просто использовать SendMessage + стандартные сообщения syslistview32, описанные в MSDN ?
Или макрос "listview_getitemtext"? я пишу подобную программу и мне тоже интересно. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SysListView32 Добавление Item (чужой процесс) | custanator | Win Api | 10 | 06.04.2011 14:30 |
Чужой SysListView32 | W0LF | Win Api | 1 | 24.02.2010 17:19 |
Изменение SysListView32 в другом приложении | Legos | Общие вопросы Delphi | 1 | 16.10.2007 02:29 |