如何使用 MFC 获取单独窗口的句柄



我是MFC的新手。任何人都可以告诉我如何使用MFC处理单独的窗口。我的任务是截取单独窗口的屏幕截图,我想显示它。通过使用CWnd::GetDesktopWindow我将获得桌面的句柄。如果我想获得其他窗口的句柄,我该如何获得它。现在,如果我想显示我捕获的桌面,我得到了桌面的句柄。请任何人帮助我。

这取决于您想要获得的窗口类型。要检索某些具有指定类名或标题的窗口,请使用带有类和标题作为输入的API FindWindow(...);要获取桌面或某些顶级窗口下的所有子窗口,您可以在递归函数中使用 EnumWindows(...)。

为了获取桌面上所有窗口的句柄,您需要函数 EnumWindows。

你为它提供一个回调函数,它将使用它找到的每个窗口的句柄来调用它。

要从HWND获取 MFC CWnd*,您可以执行以下操作:

CWnd *const window = CWnd::FromHandle(hWnd);

最新更新