如何使用 MFC 处理单独的窗口?
Posted
技术标签:
【中文标题】如何使用 MFC 处理单独的窗口?【英文标题】:How can i get handle for separate windows using MFC? 【发布时间】:2012-09-20 06:40:01 【问题描述】:我是 MFC 的新手。谁能告诉我如何使用 MFC 处理单独的窗口。我的任务是截取不同窗口的屏幕截图并显示它。通过使用CWnd::GetDesktopWindow
,我将使用桌面手柄。如果我想处理其他窗口,我怎么能得到它。现在,如果我想显示我捕获的桌面,我得到了桌面的句柄。请任何人帮助我。
【问题讨论】:
【参考方案1】:这取决于您想要获得什么类型的窗口。要检索某些具有指定类名或标题的窗口,请使用 API FindWindow(...) 和 class&caption 作为输入;要获取桌面或某个***窗口下的所有子窗口,您可以在递归函数中使用 EnumWindows(...)。
【讨论】:
【参考方案2】:为了获得桌面上所有窗口的句柄,您需要函数EnumWindows。
您为它提供一个回调函数,它会使用它找到的每个窗口的句柄来调用它。
要从 HWND
获取 MFC CWnd*
,您可以这样做:
CWnd *const window = CWnd::FromHandle(hWnd);
【讨论】:
以上是关于如何使用 MFC 处理单独的窗口?的主要内容,如果未能解决你的问题,请参考以下文章