VC++ 截屏代码,并保存为想要的格式(BMP,JPG,PNG,GIF等格式)

void CCaptionScreenDlg::Screen(char* filename)
{
    HDC hdcSrc = ::GetDC(NULL);
    int nBitPerPixel = GetDeviceCaps(hdcSrc, BITSPIXEL);
    int nWidth = GetDeviceCaps(hdcSrc, HORZRES);
    int nHeight = GetDeviceCaps(hdcSrc, VERTRES);
    CImage image;
    image.Create(nWidth, nHeight, nBitPerPixel);
    BitBlt(image.GetDC(), 0, 0, nWidth, nHeight, hdcSrc, 0, 0, SRCCOPY);
    ::ReleaseDC(NULL, hdcSrc);
    image.ReleaseDC();
    image.Save((LPCTSTR)filename, Gdiplus::ImageFormatPNG);//ImageFormatJPEG
}
原文地址:https://www.cnblogs.com/lujin49/p/5033967.html