如何使用MFC处理单独的窗口?

时间:2012-09-20 06:40:02

标签: c++ mfc

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

要从CWnd*获取MFC HWND,您可以这样做:

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