我试图捕获一个窗口(Windows 7),由于某种原因似乎无法捕获所选窗口的非客户区域。
我可以捕捉整个屏幕然后剪掉有趣的部分,但是如果所选择的窗口被另一个窗口遮挡,我会得到一些我不想要的东西。
捕获对于客户区域工作正常,我想知道是否有办法获得NC区域。
我正在使用以下代码
CDC* pDc=GetDC();
pDc->SelectStockObject(BLACK_PEN);
pDc->SelectStockObject(BLACK_PEN);
pDc->Rectangle(0,0,400,400);
HWND hSrcWnd=(HWND)0x00071256;
HDC hCalDC=::GetDCEx(hSrcWnd,NULL,DCX_WINDOW);
RECT rtWindow;
::GetWindowRect(hSrcWnd,&rtWindow);
::StretchBlt(pDc->GetSafeHdc(),0,0,400,400,hCalDC,0,0,rtWindow.right-rtWindow.left,rtWindow.bottom-rtWindow.top,SRCCOPY);
::ReleaseDC(hSrcWnd,hCalDC);
ReleaseDC(pDc);
感谢。