Użyj Pythona, aby wyodrębnić elementy ListView z innej aplikacji

Mam aplikację z formantem ListView („SysListView32”), z którego chciałbym wyodrębnić dane. Kontrola ma 4 kolumny, tylko dane tekstowe.

Grałem w następujących liniach (gdzieś w Internecie):

VALUE_LENGTH = 256
bufferlength_int=struct.pack('i', VALUE_LENGTH)
count = win32gui.SendMessage(TargetHwnd, commctrl.LVM_GETITEMCOUNT, 0, 0)
for ItemIndex in range(count):
    valuebuffer = array.array('c',bufferlength_int + " " * (VALUE_LENGTH - len(bufferlength_int)))
    ListItems = win32gui.SendMessage(TargetHwnd, commctrl.LVM_GETITEMTEXT, ItemIndex, valuebuffer)

[Powyższy kod może nie być w pełni wykonywalny, ponieważ pozbawiłem go nieistotnych rzeczy. ale istota jest z pewnością tutaj.]

Wydaje się, że działa dobrze, ale muszę robić coś złego - w zamian otrzymuję różnego rodzaju bufory danych w większości zerowane, a żadna z rzeczywistych treści tekstowych, których szukałem.

Jakieś sugestie?

Dzięki,
Yonatan

questionAnswers(2)

yourAnswerToTheQuestion