如何得到当前Windows活动窗口的标题???(50分)

  • 主题发起人 主题发起人 jyh_jack
  • 开始时间 开始时间
J

jyh_jack

Unregistered / Unconfirmed
GUEST, unregistred user!
各位帮我。。<br><br>如何得到当前Windows活动窗口(不是Delphi作的窗体)的标题???<br><br>谢谢!!&gt;
 
var<br>hd:hwnd;<br>begin<br>hd:=getActivewindow();<br><br>
 
应该从Screen对象中能得到所有窗口的标题,这样不就好办了吗
 
程云,<br>如何取得Screen对象中所有窗口的标题,又怎样从中得出当前窗口的标题。
 
var<br>&nbsp; handle:Thandle;<br>&nbsp; a:pchar;<br>begin<br>&nbsp; han:= GetActiveWindow();<br>&nbsp; GetWindowText(Handle,a,156);<br>&nbsp; ShowMessage(string(a));<br>
 
var<br>&nbsp; handle:Thandle;<br>&nbsp; a:pchar;<br>begin<br>&nbsp; han:= GetforegroundWindow();<br>&nbsp; Getmem(a,256);<br>&nbsp; GetWindowText(Handle,a,256);<br>&nbsp; ShowMessage(string(a));<br>&nbsp; Freemem(a)
 
BOOL SetWindowText(<br>&nbsp; HWND hWnd, &nbsp; &nbsp; &nbsp; &nbsp; // handle to window or control<br>&nbsp; LPCTSTR lpString &nbsp; // address of string<br>);<br>
 
GetforegroundWindow()获得当前活动的窗体<br>GetFocus()获得当前具有焦点的控件<br>GetWindowText获得窗体的内容或者标题
 
procedure TForm1.Timer1Timer(Sender: TObject);<br>var<br>&nbsp; p:pchar;<br>begin<br>&nbsp; p:=allocmem(255);<br>&nbsp; GetWindowText(GetforegroundWindow,p,255);<br>&nbsp; label1.captioN:=p;<br>&nbsp; freemem(p,255);<br>end;
 
抱歉,我没注意tan_jian已经回答了正确答案。我的算作废吧。不好意思。
 
tan_jian的答案是正确的,但是你运行程序后,你的程序不就是活动的了吗?<br>你的程序的标题还不知道吗?<br>如果换成托盘图标形式,我试了一下,是没有活动窗口,也就是得到的答案为''<br><br>请教楼主,怎么用啊?
 
哈利波特:<br>&nbsp; 我的那段代码用的是timer,就可以后台获取,至于为''时,我觉得这个结果为正常结果。<br>因为确实没有激活的窗口。
 
学习~~~~~~~~~~
 
补充,呵呵,如果当前激活的窗口标题本来就是空的,得到也是空字符串。
 
谢谢各位.
 
后退
顶部