如何截取某一窗口内的图像 VC

来源:百度知道 编辑:UC知道 时间:2024/07/08 03:41:57
如何截取某一窗口内的图像,类似游戏中截图,按下键盘中按键,只截取该程序窗口内的图象。

void GetWindowClientImg(HWND hwnd, HDC hdc)
{
RECT rect;
GetClientRect(hwnd, &rect);
HDC whdc = GetDC(hwnd);
BitBlt(hdc, 0, 0, rect.right, rect.bottom, whdc, 0, 0, SRCCOPY);
ReleaseDC(hwnd, whdc);
}

这个很简单呀,只要你了解位图的结构,然后把屏幕的区域象素保存到位图里就可以啦。

取得client句柄->取得其DC->用CDC的函数将该DC的内容blt到bmp中。
总之取得窗口的CDC是肯定要的,能成功取得了以后你可以用CDC的函数按照你的需要来做

你用原生的api BOOL GetClientRect( HWND hWnd,LPRECT lpRect); 不用MFC的试试看呢?用 GetForegroundWindow 获取前端窗口句柄