将应用程序的屏幕截图保存到位图中

时间:2012-07-19 04:48:07

标签: windows screenshot

我正在处理一个问题,我正在尝试将窗口(包括标题栏和边框)的屏幕截图保存到PNG文件中。对于Google Chrome和Visual Studio等特定应用,我无法获得使用Alt + PrintScreen获得的完整窗口图像。

问题是:

  1. 对于谷歌浏览器,我没有获得最小化,最大化和关闭按钮
  2. 对于Visual Studio,我只获得某些部分,并且缺少解决方案资源管理器和输出窗口。
  3. 我已经确定我使用的句柄是根窗口的句柄

    下面是我用来获取BitMap的代码:

    hdc = GetDCEx(hwnd, 0, DCX_WINDOW);
    hDest = CreateCompatibleDC (hdc);
    
    GetWindowRect (hwnd, &rt);
    hBitmap = CreateCompatibleBitmap (hdc, rt.right - rt.left, rt.bottom - rt.top);
    SelectObject(hDest, hBitmap);
    BitBlt( hDest, 0, 0, rt.right - rt.left, rt.bottom - rt.top, hdc, 0, 0, SRCCOPY);
    

    谢谢, Raaja

0 个答案:

没有答案