得到一个FORM的句柄,如何得到FORM里面的一个LABEL的内容.(50分)

不大可能, label没有句柄!!
 
那有句柄的应如何得到呢?
 
没有句柄就似乎要拦截TextOut等API进行处理了。<br>
 
试试如下代码:<br>function GetAllLabelCaption(Form:TForm):TStringList;<br>var i:integer;tmpList:TStringList;<br>begin<br>&nbsp; tmpList:=TStringList.Create;<br>&nbsp; for i:=0 to Form.ControlCount-1 do<br>&nbsp; begin<br>&nbsp; &nbsp; if Form.Controls is TLabel then <br>&nbsp; &nbsp; &nbsp; tmpList.Add((Form.Controls as TLabel).Caption);<br>&nbsp; end;<br>&nbsp; Result:=tmpList;<br>end;
 
同意 Mutex老兄的观点
 
Mutex的方法可行<br>
 
但我想得到的是其他程序的LABEL.CAPTION
 
form的句柄可以直接引用吗?一个handle好像一般作为api的参数吧?肤浅之见<br>,不吝赐教!
 
Mutex的方法是用于程序内部的,是用在已知窗口的。<br>我想,如果是其它程序的窗口,是没办法做到的,正是因为label没有handle。
 
其他程序如果是Delphi的VCL控件,还有可能。<br>关注。
 
用 EnumChildWindows() 可以找到 Button 之类从TControl派生出的东西。TLabel只能用<br>VXD 拦截 TextOut
 
kss的意思是通过form的句柄来访问form本身,这才是问题的关键
 
接受答案了.
 
顶部