Witam serdecznie, poszukuje rozwiązania problemu zrobienia screenshota z wielu monitorów pisze program z uzyciem wxwidgets stworzyłem funkcję która pozwala zrobic taki screenshot jednakze dziala tylko w przypadku gdy monitor jest po prawej stronie, w przypadku negatywnych koordynatow monitora DCscreen sobie z tym nie radzi, moze ktos rozwiązał ten problem i dysponuje sprawdzona funkcja screenshotów dla wielu monitorów.
void MakeScreenShot()
{
wxScreenDC dcScreen;
int height = GetSystemMetrics(SM_CYVIRTUALSCREEN ) ;
int width = GetSystemMetrics(SM_CXVIRTUALSCREEN) ;
wxBitmap screenshot(width, height,-1);
wxMemoryDC memDC;
memDC.SelectObject(screenshot);
memDC.Blit( 0, 0,
width, //Kopiuj szerokosc
height, //Kopiuj wysykosc
&dcScreen, //Skad kopiujemy
0, //Oryginalny X
0);
memDC.SelectObject(wxNullBitmap);
//NO i zapisujemy nasza bitmapke
screenshot.SaveFile("my_screenshot.jpg",wxBITMAP_TYPE_JPEG);
}