我从他们的窗口句柄(hwnd)屏幕捕获应用程序窗口,并使用GetWindowDC
获取设备上下文,我可以使用它来捕获整个窗口,顶级菜单和滚动条。如何获取窗口,子菜单和上下文菜单的设备上下文?
HDC hdcWindow = GetWindowDC(hwnd);
HDC hdcMemDC = CreateCompatibleDC(hdcWindow); // or hdcScreen
当我打开一个子菜单例如记事本左上角的文件菜单,该菜单不被捕获。它似乎并未包含在设备上下文中。有没有一种方法可以获取应用程序窗口中的所有设备上下文?
您需要获得显示DC(GetDC(NULL)),然后BitBlt窗口矩形 –
@AlexK。从技术上讲,弹出菜单可以延伸到窗口矩形之外... –
嗨,亚历克斯,这工作得很好,谢谢。 – Anton