Programming
[C++/MFC] Screen Capture
Lunik
2016. 6. 13. 15:17
반응형
아래 함수를 만들어주고 ScreenSave(CWnd*m_wnd,CString fileName)으로 호출을 하면 파일명_날짜시간으로 저장된다.
ScreenSave(this, 경로명)으로 하면된다.
void ScreenSave(CWnd*m_wnd,CString fileName)
{
CWnd* pWndDesktop = m_wnd->GetDesktopWindow();
CWindowDC ScrDC(pWndDesktop);
CClientDC dc(m_wnd);
CRect Rect;
CImage Image;
m_wnd->GetClientRect(&Rect);
m_wnd->GetWindowRect(&Rect);
int sx = Rect.left;
int sy = Rect.top;
int cx = Rect.Width();
int cy = Rect.Height();
Image.Create(cx, cy, ScrDC.GetDeviceCaps(BITSPIXEL));
CDC* pDC = CDC::FromHandle(Image.GetDC());
pDC->BitBlt(0, 0, cx, cy, &ScrDC, sx, sy, SRCCOPY);
Image.ReleaseDC();
CTime time = CTime::GetCurrentTime();
CString str;
str.Format("%s_%s.jpg", fileName, time.Format("%Y%m%d_%H%M%S")); //파일 생성날짜시간
Image.Save(str, Gdiplus::ImageFormatJPEG);