Часто приходится извлекать данные из списков программ (будь то телефонный справочник или что-нибудь другое) чаще всего - это ListBox или SysListView32 в этом случае помогает следующий код Код (Text): var ProcessId: DWORD; Process: THandle; vPointer: Pointer; Buffer: array [byte] of char; NumberOfBytesRead: Cardinal; Item: TLVItem; hListView:HWND; ItemsCount,i:integer; begin hListView:=$000B028C; GetWindowThreadProcessId(hListView, @ProcessId); Process := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE, False, ProcessId); vPointer := VirtualAllocEx(Process, nil, 4096, MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE); ItemsCount := SendMessage(hListView, LVM_GETITEMCOUNT, 0, 0); try for i := 0 to ItemsCount do begin with Item do begin mask := LVIF_TEXT; iItem := i; iSubItem := 0; cchTextMax := SizeOf(Buffer); pszText := Pointer(Cardinal(vPointer) + SizeOf(TLVItem)); end; WriteProcessMemory(Process, vPointer, @Item, SizeOf(TLVItem), NumberOfBytesRead); SendMessage(hListView, LVM_GETITEM , I, lparam(vPointer)); ReadProcessMemory(Process, Pointer(Cardinal(vPointer) + SizeOf(TLVItem)), @Buffer[0], SizeOf(Buffer), NumberOfBytesRead); memo1.Lines.Add(Buffer); end; finally VirtualFreeEx(Process, vPointer, 0, MEM_RELEASE); CloseHandle(Process); end; end; однако иногда попадаются экзотические классы окон например KAVGUI_ListCtrl в 5-м Касперском как извлечь данные из такого списка ?? куда копать ? код выше не работает..