【问题标题】:How can i get handle for separate windows using MFC?如何使用 MFC 处理单独的窗口?
【发布时间】:2012-09-20 06:40:01
【问题描述】:

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

【问题讨论】:

    标签: c++ mfc


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2011-10-24
        • 1970-01-01
        • 2019-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-09
        • 2016-01-04
        相关资源
        最近更新 更多