Thanks for you answer. The handle is unfortunately from another process. This is a piece of code I have found on the web that works great to get the values of a list from another process. I have marked the part where I want to select a list item:
def readListViewItems(hwnd, column_index=0): # Allocate virtual memory inside target process pid = ctypes.create_string_buffer(4) p_pid = ctypes.addressof(pid) GetWindowThreadProcessId(hwnd, p_pid) # process owning the given hwnd hProcHnd = OpenProcess(PROCESS_ALL_ACCESS, False, struct.unpack("i",pid)[0]) pLVI = VirtualAllocEx(hProcHnd, 0, 4096, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE) pBuffer = VirtualAllocEx(hProcHnd, 0, 4096, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE) # Prepare an LVITEM record and write it to target process memory lvitem_str = struct.pack('iiiiiiiii', *[0,0,column_index,0,0,pBuffer,4096,0,0]) lvitem_buffer = ctypes.create_string_buffer(lvitem_str) copied = ctypes.create_string_buffer(4) p_copied = ctypes.addressof(copied) WriteProcessMemory(hProcHnd, pLVI, ctypes.addressof(lvitem_buffer), ctypes.sizeof(lvitem_buffer), p_copied) # iterate items in the SysListView32 control num_items = win32gui.SendMessage(hwnd, LVM_GETITEMCOUNT) item_texts = [] for item_index in range(num_items): win32gui.SendMessage(hwnd, LVM_GETITEMTEXT, item_index, pLVI) target_buff = ctypes.create_string_buffer(4096) ReadProcessMemory(hProcHnd, pBuffer, ctypes.addressof(target_buff), 4096, p_copied) item_texts.append(target_buff.value) if target_buff.value == "something": # HERE THE list item should be selected, if the value of the list item is something # # # pass VirtualFreeEx(hProcHnd, pBuffer, 0, MEM_RELEASE) VirtualFreeEx(hProcHnd, pLVI, 0, MEM_RELEASE) win32api.CloseHandle(hProcHnd) return item_texts Do you have an idea? -----Ursprüngliche Nachricht----- Von: python-win32-bounces+admin=genesisware...@python.org [mailto:python-win32-bounces+admin=genesisware...@python.org] Im Auftrag von python-win32-requ...@python.org Gesendet: Samstag, 20. November 2010 12:00 An: python-win32@python.org Betreff: python-win32 Digest, Vol 92, Issue 16 Send python-win32 mailing list submissions to python-win32@python.org To subscribe or unsubscribe via the World Wide Web, visit http://mail.python.org/mailman/listinfo/python-win32 or, via email, send a message with subject or body 'help' to python-win32-requ...@python.org You can reach the person managing the list at python-win32-ow...@python.org When replying, please edit your Subject line so it is more specific than "Re: Contents of python-win32 digest..." Today's Topics: 1. Re: Simple selection of item in list (Tim Roberts) ---------------------------------------------------------------------- Message: 1 Date: Fri, 19 Nov 2010 10:43:38 -0800 From: Tim Roberts <t...@probo.com> To: Python-Win32 List <python-win32@python.org> Subject: Re: [python-win32] Simple selection of item in list Message-ID: <4ce6c55a....@probo.com> Content-Type: text/plain; charset="UTF-8" ad...@genesisware.de wrote: > my problem is probably simple but I haven?t found a solution anyway. I want > so select items from an item list that allows multiple selections. > > I have got the handle of a SysListView32 control and the item index of the > item I want to select. > > How can I arrange this in pywin? Where did the handle come from? Is this a control within your own application? One of the awkward things about the SysListView32 control is that most of its messages require structures, and the structures are not marshaled properly across process boundaries, so it's very difficult to control one in another process. If it is within your own process, you can send an LVM_SETITEMSTATE message with the appropriate LVITEM structure. -- Tim Roberts, t...@probo.com Providenza & Boekelheide, Inc. ------------------------------ _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32 End of python-win32 Digest, Vol 92, Issue 16 ******************************************** _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32