怎么获取一个窗体的Caption? ( 积分: 40 )

  • 主题发起人 主题发起人 tripleh
  • 开始时间 开始时间
T

tripleh

Unregistered / Unconfirmed
GUEST, unregistred user!
这个窗口的Caption是动态变化的。但是确定有‘ABCD’这个四个字符。他变化时只是在后面加随机的空格。看大家怎么取得该窗口的句柄!
 
//获得窗口文本<br>function&nbsp;GetWndText(hWnd:&nbsp;HWND):&nbsp;String;<br>Var<br>&nbsp;&nbsp;&nbsp;&nbsp;Ret:LongInt;<br>&nbsp;&nbsp;&nbsp;&nbsp;mText:PChar;<br>&nbsp;&nbsp;&nbsp;&nbsp;Buf:Integer;<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;Ret:=SendMessage(hWnd,WM_GETTEXTLENGTH,0,0)+1;<br>&nbsp;&nbsp;&nbsp;&nbsp;GetMem(mText,Ret);<br>&nbsp;&nbsp;&nbsp;&nbsp;try<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Buf:=LongInt(mText);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SendMessage(hWnd,WM_GETTEXT,Ret,Buf);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=StrPas(mText);<br>&nbsp;&nbsp;&nbsp;&nbsp;finally<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FreeMem(mText,Ret);<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>end;<br><br><br>Function&nbsp;GetWND:HWND;<br>begin<br>h:=GetForegroundWindow;<br>//循环查找<br>&nbsp;&nbsp;While&nbsp;&nbsp;&nbsp;(h&lt;&gt;&nbsp;0)&nbsp;&nbsp;do&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;(Pos('ABCD',GetWndText(hQQ))&gt;0)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result:=h;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;h&nbsp;:=&nbsp;&nbsp;FindWindowEx(0,h,'',&nbsp;nil&nbsp;&nbsp;);<br>end;
 
self.caption;
 
接受答案了.
 

Similar threads

回复
0
查看
813
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部