【发布时间】:2015-01-08 10:02:05
【问题描述】:
我目前正在使用以下代码行截图窗口:
UpdateWindow(hwnd);
HDC window_dc = GetDC(hwnd);
HDC res = CreateCompatibleDC(window_dc);
RECT r;
GetClientRect(hwnd, &r);
HBITMAP bmp = CreateCompatibleBitmap(window_dc, r.right - r.left, r.bottom - r.top);
SelectObject(res, bmp);
PrintWindow(hwnd, res, PW_CLIENTONLY);
DeleteObject(bmp);
ReleaseDC(hwnd, window_dc);
现在有没有办法只截取我的 HWND 的特定区域?我意识到,在某些应用程序中,当窗口稍微大一点时,截屏时间会明显延长。所以我想如果我只能截图重要的帧,我真的可以提高我的速度。
编辑:它需要适用于后台的窗口,例如。被其他窗口重叠。
【问题讨论】:
-
句柄hwnd指的是什么?整个桌面还是只是一个特定的窗口?
-
只是一个特定的窗口。
标签: c++ winapi screenshot