我使用以下代码获取窗口句柄:
var h: THandle;
...
h := FindWindow('MozillaWindowClass', NIL);
h有效(> 0)。
我如何确定此窗口是否有任何子窗口?
我不能使用FindWindowEx(),因为它需要一个类名。
我要在这里完成的工作是确定MozillaWindowClass窗口是属于Thunderbird还是Firefox。看起来Thunderbird的MozillaWindowClass没有子级,而Firefox没有,因此这是一种快速查找方法。 (我无法使用CreateToolhelp32Snapshot()来查找进程名称,因为我的代码也需要在Windows 2000上运行)。
最佳答案
确定窗口是否有子级的最简单方法是调用GetWindow
传递GW_CHILD
。
function HasChildren(Window: HWND): Boolean;
begin
Result := GetWindow(Window, GW_CHILD)<>0;
end;
关于delphi - 找出一个窗口是否有一个子窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840052/