Advertisement
Guest User

window_capture

a guest
Nov 29th, 2019
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.     HDC     hScreen = GetDC(NULL);
  3.     HDC     hDC = CreateCompatibleDC(hScreen);
  4.     HBITMAP hBitmap = CreateCompatibleBitmap(hScreen, 1920, 1080);
  5.     HGDIOBJ old_obj = SelectObject(hDC, hBitmap);
  6.     BOOL    bRet = BitBlt(hDC, 0, 0, 1920, 1080, hScreen, 0, 0, SRCCOPY);
  7.  
  8.     constexpr size_t buffer_size = 1920 * 1080 * 4;
  9.  
  10.     std::vector<char> buffer(buffer_size);
  11.  
  12.     GetBitmapBits(hBitmap, buffer_size, buffer.data());
  13.  
  14.     CImg img(buffer.data(), 1920, 1080);
  15.     CImgDisplay display(img);
  16.  
  17.     while (!display.is_closed())
  18.     {
  19.         display.wait(1000 / 60);
  20.     }
  21.  
  22.     // clean up
  23.     SelectObject(hDC, old_obj);
  24.     DeleteDC(hDC);
  25.     ReleaseDC(NULL, hScreen);
  26.     DeleteObject(hBitmap);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement