问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用python怎么查看syslistview32的内容

发布网友 发布时间:2022-05-24 21:15

我来回答

2个回答

热心网友 时间:2023-11-02 18:25

from win32con import PAGE_READWRITE, MEM_COMMIT, MEM_RESERVE, MEM_RELEASE,\
    PROCESS_ALL_ACCESS
from commctrl import LVM_GETITEMTEXT, LVM_GETITEMCOUNT
 
import struct
import ctypes
import win32api
import win32gui
 
GetWindowThreadProcessId = ctypes.windll.user32.GetWindowThreadProcessId
VirtualAllocEx = ctypes.windll.kernel32.VirtualAllocEx
VirtualFreeEx = ctypes.windll.kernel32.VirtualFreeEx
OpenProcess = ctypes.windll.kernel32.OpenProcess
WriteProcessMemory = ctypes.windll.kernel32.WriteProcessMemory
ReadProcessMemory = ctypes.windll.kernel32.ReadProcessMemory
memcpy = ctypes.cdll.msvcrt.memcpy
 
 
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)
 
    VirtualFreeEx(hProcHnd, pBuffer, 0, MEM_RELEASE)
    VirtualFreeEx(hProcHnd, pLVI, 0, MEM_RELEASE)
    win32api.CloseHandle(hProcHnd)
    return item_texts
print readListViewItems(197140)

热心网友 时间:2023-11-02 18:25

j88r的回答是测试是可行了,就是代码太多不太明白,有点注释就好了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 在python中通过加载kernel32.dll使用GetProcAddress()函数获取printf函数地址失败 十三号是什么日子 12月13日是什么日子呢? 顺丰快递的上门收件是怎样的 电脑优酷drm技术加密看不了 是要增发股票压低价格吗 07 word 插入第几页/共几页时,怎么设置共几页不的那个数字不包含第一页啊~~求指导 想在word的中的第3页页眉插入第几页共几页,而第一页和第二页不需要,该怎么弄。 哈尔滨端午节有放纸船的习俗吗 个人怎么购买税优健康险? 我家电脑是用无线网卡上网的,然后我想再开个WiFi就去360下载了个WiFi共享软件, 360随身wifi插在电脑上能让电脑连上无线网吗?我用的是腾讯管家还可以上吗?需要下载什么软件吗 请问手机可以打开怎样的文档格式 手机的文件夹里都什么格式的文件能直接打开 电焊证需要审吗 中华人民共和国人力资源和社会保障部颁发的焊工证需要年检吗? 网络工程设计师弄网络建设的吗?需要理科学历的吗? 格式工厂里电影格式转换完成后怎么样保存啊 格式工厂转完的视频为什么保存不了 全能格式转换工厂怎么导出视频 python中有子程序吗 盐水放糖会更咸吗?为什么?过程中咸与甜如何变化 鲫鱼汤可以不放盐放糖喝吗? python换行的冲突问题 醒花放糖还是盐 饮食健康问答 炖鸽子可以同时放盐放冰糖吗? 火把摇裤儿是什么意思 用‘火’作开头组一个潮一点,非主流一点的词!跪求!!急!!! 火把摇裤是什么意思 北京生育保险 男方 W10系统Office不能正常打印? office在win10不能打印 子曰默而识之下一句是什么 论语:默而识之, 后面的两句是什么? 为什么我的电脑只有Office软件连不上打印机,而其他软件像PDF,文档就可以连上打印,重装软件没有用。 “默而识之”的下一句 为什么电脑只有WORD不能打印 默而识之,后面几句是什么? 子曰:“默而识之” 后面是神马? 子曰:默而识之...的下面几句是什么