如何通过句柄读取TLISTBOX的内容-1000分-非常急 ( 积分: 200 )

  • 主题发起人 主题发起人 蓝叶菱
  • 开始时间 开始时间

蓝叶菱

Unregistered / Unconfirmed
GUEST, unregistred user!
一个另外应用程序,有一个列表。我通过<br>function&nbsp;EnumChildWindowsProc(hwnd,lparam:integer):Boolean;stdcall;取得了它的句柄和名称,显示为TListBox,句柄为583788<br>求,怎么取出TListBox的内容。(不使用抓图)
 
function&nbsp;GetListBoxText(mHandle:&nbsp;THandle;&nbsp;mStrings:&nbsp;TStrings):&nbsp;Boolean;<br>var<br>&nbsp;&nbsp;vItemCount:&nbsp;Integer;<br>&nbsp;&nbsp;I:&nbsp;Integer;<br>&nbsp;&nbsp;S:&nbsp;string;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;False;<br>&nbsp;&nbsp;if&nbsp;not&nbsp;Assigned(mStrings)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;Exit;<br>&nbsp;&nbsp;mStrings.BeginUpdate;<br>&nbsp;&nbsp;try<br>&nbsp;&nbsp;&nbsp;&nbsp;mStrings.Clear;<br>&nbsp;&nbsp;&nbsp;&nbsp;vItemCount&nbsp;:=&nbsp;SendMessage(mHandle,&nbsp;LB_GETCOUNT,&nbsp;0,&nbsp;0);<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;I&nbsp;:=&nbsp;0&nbsp;to&nbsp;vItemCount&nbsp;-&nbsp;1&nbsp;do<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetLength(S,&nbsp;SendMessage(mHandle,&nbsp;LB_GETTEXTLEN,&nbsp;I,&nbsp;0));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(mHandle,&nbsp;LB_GETTEXT,&nbsp;I,&nbsp;Integer(@S[1]));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mStrings.Add(S);<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;SetLength(S,&nbsp;0);<br>&nbsp;&nbsp;finally<br>&nbsp;&nbsp;&nbsp;&nbsp;mStrings.EndUpdate;<br>&nbsp;&nbsp;end;<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;True;<br>end;&nbsp;<br><br>兄弟.别忘了给分啊.
 
你是迷糊?
 
什么意思?不是listBox吗?
 
大哥..不用再发了吧...我不需要那么多分.随便就行了.能帮到你就好了.呵呵
 
发多了,。。。
 
接受答案了.
 
后退
顶部