Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2014, 12:59   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Доступ к ListView

Здравствуйте, есть необходимость управлять чужой программой. В частности производить выбор элементов списка ListView.

Делаю EnumWindow и получаю хэндл требуемого компонента. Однако почему то EnumChildWindows получает 4 хэндла на компонент. Ну да ладно.

Далее я пытаюсь получить количество элементов в списке:
Код:
const int LVM_FIRST = 0x1000;
const int LVM_GETITEMCOUNT = LVM_FIRST + 4;

Проверяю все имеющиеся хэндлы
int lstCount = (int)SendMessage(ListPtr[i], LVM_GETITEMCOUNT, IntPtr.Zero, IntPtr.Zero);
И что бы я не делал я все равно всегда получаю 0.
Хотя в списке полно элементов. Класс окна называется TEasyListViewEx

Что я делаю не так? Почему ноль?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 30.05.2014, 13:16   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Хэндл не ListView. Возможно ListView дочерний к одному из этих 4-х
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.05.2014, 13:37   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Хэндл не ListView. Возможно ListView дочерний к одному из этих 4-х
Я утилиткой Spy смотрю. Она показывает именно этот класс. А как можно проверить?
То есть Spy показывает его как конечное окно.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 30.05.2014, 13:46   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

EasyListView есть такой компонент. Не знаю, наследник ли он ListView. Если не наследник и он там задействован, то навряд ли так кол-во элементов получить можно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.05.2014, 13:46   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

А вы уверены, что посылаете сообщения в правильное окно?

Насчет как проверить - подключится утилитой spyxx и посмотреть какие сообщения туда приходят.
waleri вне форума Ответить с цитированием
Старый 30.05.2014, 13:51   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
А вы уверены, что посылаете сообщения в правильное окно?

Насчет как проверить - подключится утилитой spyxx и посмотреть какие сообщения туда приходят.
Да блин ... Ну я же пишу какой утилиткой я проверяю.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 30.05.2014, 13:52   #7
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
EasyListView есть такой компонент. Не знаю, наследник ли он ListView. Если не наследник и он там задействован, то навряд ли так кол-во элементов получить можно
А как быть? В Spy сообщения вообще не идут указанному окну. По крайней мере он их не отлавливает.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить элемент ListView в другой ListView? Paul Hindenburg Компоненты Delphi 5 26.01.2013 11:35
[C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView. Casper-SC WPF, UWP, WinRT, XAML 2 12.08.2010 19:04
ListView qwerty55 Общие вопросы Delphi 1 21.03.2010 02:46
ListView Terran Общие вопросы Delphi 2 05.04.2008 23:15
ListView Drain Общие вопросы Delphi 3 13.02.2008 16:10