Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 28.02.2011, 23:09   #1
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию Работа с SysListView32 (L2Walker)

В общем...
Такая задача:
Есть чужое окно. В чужом окне есть компонент SysListView32. Мне нужно управлять этим компонентом. Ну хотя бы для начала получить из этого SysListView32 все данные что там есть.

Что я пробовал:
Есть функция:
function ListView_GetItem(hWnd: HWND; var pItem: TLVItem): Bool;
Эта функция получает 1 строку из SysListView32.
Я пробовал через эту функцию получить хотя бы 1 итем, но безрезультатно, если передавать туда переменную типа TLVItem, то на выходе она выходит пустая все равно... Кто сталкивался с такой задачей и может мне хоть в чем-нибудь помочь?

P.S. Если конкретно - я пытаюсь управлять ItemList'ом волкера

Последний раз редактировалось Kilatif, 01.03.2011 в 03:26.
Kilatif вне форума   Ответить с цитированием
Старый 01.03.2011, 00:22   #2
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Сейчас я предложу не совсем то, чего хочет автор
Волкер обычно используется в комплекте с ПХ или ВП, так почему бы не воспользоваться для решения поставленной задачи функционалом этих программ?
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Старый 01.03.2011, 00:29   #3
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Цитата:
Сообщение от J-Fobos Посмотреть сообщение
Сейчас я предложу не совсем то, чего хочет автор
Волкер обычно используется в комплекте с ПХ или ВП, так почему бы не воспользоваться для решения поставленной задачи функционалом этих программ?
Привык уже просто =) Да и я столкнулся с чем-то новым, а мне нравится копаться в чем-то новом, может потом пригодится)
Kilatif вне форума   Ответить с цитированием
Старый 01.03.2011, 01:57   #4
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

ListView_GetItemCount
и дальше в цикле ListView_GetItem
Aries вне форума   Ответить с цитированием
Старый 01.03.2011, 03:25   #5
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Цитата:
Сообщение от Aries Посмотреть сообщение
ListView_GetItemCount
и дальше в цикле ListView_GetItem
Я же написал в первом посте, что пробовал так - не получается (переменная, которую я подаю туда, остается такой же)
Kilatif вне форума   Ответить с цитированием
Старый 01.03.2011, 10:02   #6
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Код:
	LVITEM lvi;
	lvi.mask = LVIF_TEXT | LVIF_STATE;
	lvi.stateMask = 0x3000;
	lvi.pszText = tmpParam;
	lvi.cchTextMax = sizeof(tmpParam);
	for (int i = 0; i < RowCount; ++i) {
		lvi.iSubItem = 0;
		lvi.iItem = i;
		if(!ListView_GetItem(hList,&lvi)) continue;
		lvi.iSubItem = 1;
		if(!ListView_GetItem(hList,&lvi)) continue;
		lvi.iSubItem = 2;
		if(!ListView_GetItem(hList,&lvi)) continue;
	}
Что-то типо того... Потом все значения из lvi бери...iSubItem - столбец... RowCount - число строк
tmpParam - буфер, куда записывается строка со значением ячейки
Aries вне форума   Ответить с цитированием
За это сообщение Aries нажился спасибкой от:
Старый 01.03.2011, 15:06   #7
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Не знаю как в си, но в делфе это не работает.Вся беда в том что нельзя вот так вот осуществлять адресацию, т.е. передавать адрес переменной в которую будет писать. Потому что мы посылаем этот адрес в чужую программу, а у нее не будет доступа к области памяти нашей программы (где и хранится эта переменная). Что бы решить задачу, нужно использовать виртуальную память.
В общем... я уже решил задачу =)
Kilatif вне форума   Ответить с цитированием
Старый 01.03.2011, 15:20   #8
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Цитата:
Сообщение от Kilatif Посмотреть сообщение
Не знаю как в си, но в делфе это не работает.Вся беда в том что нельзя вот так вот осуществлять адресацию, т.е. передавать адрес переменной в которую будет писать. Потому что мы посылаем этот адрес в чужую программу, а у нее не будет доступа к области памяти нашей программы (где и хранится эта переменная). Что бы решить задачу, нужно использовать виртуальную память.
В общем... я уже решил задачу =)
Хм, возможно и так... Но я помню, что на каком-то форуме доказывалось, что подобные сообщения с передачей указателя нормально отрабатывают с разными приложениями (но сам лично не тестил, все делал только в рамках своего приложения)
Aries вне форума   Ответить с цитированием
Старый 01.03.2011, 15:25   #9
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Цитата:
Сообщение от Aries Посмотреть сообщение
Хм, возможно и так... Но я помню, что на каком-то форуме доказывалось, что подобные сообщения с передачей указателя нормально отрабатывают с разными приложениями (но сам лично не тестил, все делал только в рамках своего приложения)
ну вот я потестил, ничего не выходит...
Kilatif вне форума   Ответить с цитированием
Старый 01.03.2011, 15:39   #10
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

На досуге надо будет тоже ради интереса глянуть)))
Aries вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:40.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!