Windows:如何以编程方式获取窗口的屏幕截图?

时间:2013-03-02 02:32:50

标签: c++ windows winapi bitmap screenshot

我正在尝试使用Windows API来拍摄窗口的屏幕截图。这是我目前的代码:

//Grab the window
HWND window = me;//GetForegroundWindow();
HDC context = GetDC(window);
RECT windowRect;
GetWindowRect(window, &windowRect);
int w = windowRect.right-windowRect.left;
int h = windowRect.bottom-windowRect.top;

//Copy the data
for (int y=0;y<h;y++)
    for (int x=0;x<w;x++)
    {
        COLORREF color = GetPixel(context, x,y);
        std::cout<<color<<std::endl;
    }

宽度和高度正确返回(以及窗口位置),但颜色始终为0xFFFFFF(白色)。

似乎它应该相当容易,因为在窗口截取窗口的屏幕截图只是alt + shift + Print Screen

0 个答案:

没有答案