c#通过windowsapi获取外部程序中listbox的值,有的可以获取到,有的获取不到,LB_GETCOUNT都能取到正确数量

墨七轩 2018-02-23 11:39:10
论坛诸位,近日我遇到了一个问题,特在论坛想各位求教。
问题描述:通过c# windowsapi获取外部程序窗体(外部程序为自己软件,但不能修改其源码)中listbox句柄,获取到句柄之后通过sendmessage中的LB_GETCOUNT可以获取到listbox中具体条数,但有的listbox中LB_GETTEXTLEN与LB_GETTEXT均获取不到数值,有的listbox中可以获取到具体条数与数值。(句柄确认为正确句柄)
问题截图:
1.可以获取到的情况
listbox图像截图

spy++获取到句柄

程序获取到的数据的情况


2.获取不到的情况
listbox获取句柄

软件运行获取数据情况



源码如果需要在问答中发,主要使用sendmessage中的LB_GETCOUNT与LB_GETTEXT,获取句柄采用鼠标点击获取。
感激回答的诸位朋友。
...全文
1018 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
linmilove 2019-03-01
  • 打赏
  • 举报
回复
我写的代码获取到的文本为乱码,请问是否可以分享一下代码?
SoulRed 2018-02-25
  • 打赏
  • 举报
回复
毕竟你这属于hook,你别看listbox长得一模一样,有些listbox很可能不是原生winfrom的控件,可能是listbox的子类。。。可能更改了某些行为 以上纯属猜测。 如果有条件我还是建议你把源程序写个接口出来给第三方调用

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧