delphi中怎么获得一个窗口的弹出子窗口的句柄

delphi中如何获得一个窗口的弹出子窗口的句柄?
如果父窗口的句柄可以用handle表示,子窗口通过showmessage();调用,现在想知道如何获得这个弹出窗口的句柄
------解决思路----------------------
var
  H:HWND;
begin
  h:=FindWindow(nil,PChar(Message标题));
end;
------解决思路----------------------
FindWindowEx
------解决思路----------------------
#1的方法就行了
------解决思路----------------------
比较一下FindWindow和FindWindowEx,两个还是有区别的。建议用FindWindowEx。
------解决思路----------------------
查找是一个笨办法,而且并不能保证正确性,因为它是根据窗体的名称来查找的。如果有同名的就可能是错误的。
二楼的方法是最保险的做法。你既然要弹出一个窗体,总要先创建,然后显示。那么这就好办了。
var
  Frm_Child:TFrm_Child;
  ChildHWND:HWND; //子窗体的名柄
begin
  Frm_Child := TFrm_Chilc.Create(Application);
  ChildHWND := Frm_Child.handle; //窗体创建后,句柄就存在了。这个东西你可以随便操作了,可以把这个句柄记录为全局变量,也可以通过SendMessage用消息来传递到主窗体。都是可以的。
  Frm_Child.ShowModel;
  Frm_Child.free;
end;