首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-12-31 
delphi中如何获得一个窗口的弹出子窗口的句柄?如果父窗口的句柄可以用handle表示,子窗口通过showmessage()

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;

热点排行