Считать чужой многоколоночный listbox

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
xaoc2
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 29.01.2009 (Чт) 20:56

Считать чужой многоколоночный listbox

Сообщение xaoc2 » 29.01.2009 (Чт) 21:07

Каким образом это сделать, чтобы можно было отсортировать считанные строки по значению в них, и затем в чужом выделить их?

Для начала я решил скопировать этот listbox, но получил лишь единицы
Код: Выделить всё
Dim c As Long
Dim LWnd As Long
LWnd = List1.hwnd
Const LB_GETCOUNT = &H18B
Const LB_GETTEXT = &H189
Const LB_ADDSTRING = &H180
Dim numitems As Long
Dim sItemText As String * 255
numitems = SendMessageLong(2621620, LB_GETCOUNT, 0&, 0&)
If numitems > 0 Then
For c = 0 To numitems - 1
Call SendMessageStr(2621620, LB_GETTEXT, c, ByVal sItemText)
Call SendMessageStr(LWnd, LB_ADDSTRING, 0&, ByVal sItemText)

[Viper] :: Таки пользуемся тэгом CODE!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Считать чужой многоколоночный listbox

Сообщение Хакер » 29.01.2009 (Чт) 22:08

Ксаоц, что такое многоколоночный ListBox?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

xaoc2
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 29.01.2009 (Чт) 20:56

Re: Считать чужой многоколоночный listbox

Сообщение xaoc2 » 29.01.2009 (Чт) 22:21

Имел ввиду это
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Считать чужой многоколоночный listbox

Сообщение Хакер » 29.01.2009 (Чт) 22:32

И тебе не очевидно, что в этом контроле есть что-то нестандартное?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

xaoc2
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 29.01.2009 (Чт) 20:56

Re: Считать чужой многоколоночный listbox

Сообщение xaoc2 » 29.01.2009 (Чт) 22:37

Я только начал изучать Visual Basic, поэтому скажу честно, что не очевидно. Spy++ пишет "TTntListBox.UnicodeClass". Как решить эту задачу?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Считать чужой многоколоночный listbox

Сообщение Хакер » 29.01.2009 (Чт) 22:43

Допустим. Но раз ты знаешь, что такое Spy++ и класс окна, то должно быть всё же очевидно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Считать чужой многоколоночный listbox

Сообщение alibek » 29.01.2009 (Чт) 22:54

Это вообще не ListBox, так что забудь про LB-сообщения.
Возможно он будет принимать скроллинг, токда можешь листать его, получать изображение и распознавать текст (для фиксированного фонта это относительно просто).
Lasciate ogni speranza, voi ch'entrate.

xaoc2
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 29.01.2009 (Чт) 20:56

Re: Считать чужой многоколоночный listbox

Сообщение xaoc2 » 29.01.2009 (Чт) 23:12

Несколько противоречат друг другу последние сообщения :roll:

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Считать чужой многоколоночный listbox

Сообщение Хакер » 29.01.2009 (Чт) 23:20

Абсолютно не противоречат :roll:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

xaoc2
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 29.01.2009 (Чт) 20:56

Re: Считать чужой многоколоночный listbox

Сообщение xaoc2 » 29.01.2009 (Чт) 23:28

alibek писал(а):Это вообще не ListBox, так что забудь про LB-сообщения.
Возможно он будет принимать скроллинг, токда можешь листать его, получать изображение и распознавать текст (для фиксированного фонта это относительно просто).


Это единственно возможный вариант?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Считать чужой многоколоночный listbox

Сообщение alibek » 29.01.2009 (Чт) 23:35

Нет, можно еще поизучать компонент, возможно у него есть свой набор сообщений, которые позволят тебе получить всю нужную информацию. Хотя и без гарантии, самодельные компоненты не обязаны реагировать на оконные сообщения, они ведь не для других делались.
Можешь также попробовать извлечь нужные данные из памяти процесса. Однако тут своих сложностей хватает.
Распознавание текста будет быстрее.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Считать чужой многоколоночный listbox

Сообщение Хакер » 29.01.2009 (Чт) 23:40

Контрол наверняка выводит текст с помощью API-функций. Их можно перехватить, и получить тот самый текст, который появляется в гриде. Это будет проще, чем распознование.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

xaoc2
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 29.01.2009 (Чт) 20:56

Re: Считать чужой многоколоночный listbox

Сообщение xaoc2 » 29.01.2009 (Чт) 23:57

Благодарю за ответы, буду разбираться

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Считать чужой многоколоночный listbox

Сообщение alibek » 30.01.2009 (Пт) 9:01

Хакер писал(а):Контрол наверняка выводит текст с помощью API-функций. Их можно перехватить, и получить тот самый текст, который появляется в гриде. Это будет проще, чем распознование.

Кстати, да, про это не подумал, а это будет гораздо проще.
Правда говорят, что в ,NET-приложениях это уже не сработает, там идет вывод в буфер и на экран выводится уже картинка.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Считать чужой многоколоночный listbox

Сообщение Хакер » 30.01.2009 (Пт) 10:11

Так у него же 90%, что Дефльи.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

GDK
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 23.10.2008 (Чт) 16:15

Re: Считать чужой многоколоночный listbox

Сообщение GDK » 04.02.2009 (Ср) 14:13

Не смотрел в Spy++ какие сообщения "это творенье" принимает/отсылает и от кого? Я пробовал (не с листбоксами правда). Часто это помогало (иногда методом "тыка" быстрее и проще получить требуемый результат).


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 64

    TopList  
cron