如何取得ListBox的内容(150分)

  • 主题发起人 主题发起人 whitecloud
  • 开始时间 开始时间
W

whitecloud

Unregistered / Unconfirmed
GUEST, unregistred user!
现有别的程序中的一个ListBox,Style为 lbOwnerDrawFixed,可得到它的Handle,它的Items可能是用TextOut画上去的,该如何取得它的各Items<br>的内容,请各位大虾不吝赐教!
 
得到又怎么样? 你准备文字识别?
 
和不用画布画上去的一样使用.因为它总还是有ITEM的.不过要在画了以后.
 
to cAKK大侠:<br>&nbsp; 我现做一程序,控制其它程序做事,然后将该程序中ListBox返回的内容取出来!<br>&nbsp; 我是要取得ListBox各Item的内容,但因该ListBox的Style为lbOwerDrawFixed,<br>用常规的LB_GETTEXT取不出来!<br>&nbsp; 我有一思路,取得Windows的TextOut和ExTextOut Function的地址,让它指向<br>我的一段程序,从而取得要画的值,然后再交还Windows执行,但不知该如何实现!<br>或有其它思路也行!<br>&nbsp; 情况紧急,请大侠仗义援手!
 
你用lb_gettext取不到值和ListBox的Style无关<br>那是因为这个消息只对本进程的程序有用,你得用<br>钩子来解决
 
to hubdog:<br>&nbsp; 谢谢! &nbsp;<br>&nbsp; 我已试过了LB_GETTEXT取得其它进程中ListBox的值,现在问题在于该进程先用<br>LB_ADDSTRING加一Item,假设Item值设为'abc',然后再在OnDrawItem中TextOut<br>'123',则该ListBox显示出来的值是'123',现在用LB_GETTEXT可得值'abc',却<br>不能得到'123'!<br>&nbsp; 装钩子是否可以截获TextOut的内容?请大侠详细指教!<br>
 
哎哟哟,请各位大虾踊跃发言,我现正是水深火热......,上天有好生之德,<br>各位可不能见死不救呀!
 
呵呵,救不了你,用微软的detour可以hook api,<br>你去当一个吧,我是没用过,估计你得用VC++写程序。
 
何不借鉴一下金山词霸,他能翻译textout出来的文本
 
版主,我想结束此问题,但对各位的回答均不甚满意,我如何收回这些分?<br>
 
多人接受答案了。
 
后退
顶部