win32中的GetFirstChild?

win32中的GetFirstChild?,c,winapi,enumeration,C,Winapi,Enumeration,我使用EnumChildWindows从主HWND窗口获取所有子窗口,但我只希望获取给定HWND窗口的第一个子窗口 BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam) { // logic to call only once } 对吗?还是其他简单的方法 ~UK当然可以: BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam) { /* do w

我使用EnumChildWindows从主HWND窗口获取所有子窗口,但我只希望获取给定HWND窗口的第一个子窗口

BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam)
{
  // logic to call only once 
}
对吗?还是其他简单的方法

~UK

当然可以:

BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam)
{
    /* do what you want with the first HWND */

    return FALSE; // stops enumeration.
}
有关详细信息,请参见,但相关行如下:

返回值

BOOL

要继续枚举,请调用回调函数 函数必须返回TRUE;制止 枚举时,它必须返回FALSE


或者,
HWND top\u child=GetWindow(此窗口,GW\u child)

(…,GW_CHILD)将在z顺序的顶部给您一个窗口,我假设这是您在一次找到四个答案后看到的窗口-,我认为都是正确的…+1,我接受这个答案。因为这有助于获得我正在使用的这个GetWindow(thisWindow,GW_HWNDFIRST)
BOOL CALLBACK EnumChildProc ( HWND hwndChild, LPARAM lParam)
{
  // process first child window
  return FALSE;
}