我使用以下代码获得了一个窗口句柄:
var h: THandle;
...
h := FindWindow('MozillaWindowClass', NIL);
h有效(> 0)。
如何确定此窗口是否包含任何子窗口?
我不能使用FindWindowEx(),因为它需要一个类名。
我想在这里完成的是找出MozillaWindowClass窗口是属于Thunderbird还是Firefox。看起来Thunderbird有一个没有孩子的MozillaWindowClass,但Firefox没有,所以这将是一个快速找到的方法。 (我不能使用CreateToolhelp32Snapshot()来查看进程名称,因为我的代码也需要在Windows 2000上运行。)
答案 0 :(得分:6)
确定某个窗口是否有子女的最简单方法是通过GW_CHILD
致电GetWindow
。
function HasChildren(Window: HWND): Boolean;
begin
Result := GetWindow(Window, GW_CHILD)<>0;
end;