python 取ListView内部数据,32位,64位通用

listview内部控件数据按行输出,并带有表头

工作中遇到需要使用listview显示的数据,又很急用,于是在网上找了一些相关的博客,的确找到了一些。虽然写的都差不多估计相互转载来的,内容还算全面稍微改改就可以使用,然后这件事就这么过去了。突然又有这么一天再用这个模块获取数据就不行了。
思来想去,问题只会出现在目标软件上,因为listview是标准化组件,应该不会是这个问题,最有可能是出在了软件位数上面,这个方法只能在某个位数上使用,另一个就不行。就试了一下,果然,32位下获取数据正常,64位下就没有数据。
针对这个问题,我在32位的基础上添加了对64位的支持,这个需要涉及到C语言方面的知识,请教了同事才搞定。

**提示:**有些朋友反应取不到数据,总结了大多数情况是取操作系统自己的数据,那么需要用管理员权限去执行才能够拿到数据。

使用方法

#将包放在执行路径下或者sys.path主动加入路径
from GetListViewData import GetListViewData
#加载pyd文件,引入模块
lv_data_obj = GetListViewData()
#实例化对象
data = lv_data_obj.getData(hwnd = 136066, bits = 32)
#传入listview的句柄,软件位数可以写32位或64位,如果没写会自己检查,但是可能没检查出来报异常
#如果主动指定了位数就不要传错,比如是32位的传入了64位的,一样拿不出数据
print(data)
#(True, [{'表头字段名称1': '第N行对应值1', '表头字段名称2': '第N行对应值2', '表头字段名称3': '第N行对应值3'},
#       {'表头字段名称1': '第N+1行对应值1', '表头字段名称1': '第N+1行对应值2', '表头字段名称1': '第N+1行对应值3',}
#		...
#		...
#       ]
#)
#返回tuple,第一位为取数据状态,第二位为具体值
#第一位为true表示取数据成功,第一位为False取数据失败,但是也可能出现为True时未取到数据,你要根据后面值自己判断
#第二位是在列表中加入listview表中每一行的值,并且已经和表头对应好

下载地址

GetListViewData.pyd 32位64位通用

注意

未经作者允许,禁止转载

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_33359267

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值