Seite 1 von 1

C++-Screenshot

BeitragVerfasst: 16.03.2017, 11:46
von joggel
Moinsen ihr,

Ich suche eine Möglichkeit, oder am besten Bibliothek, mit der ich ein Screenshot vom gesamten Bildschirm und in eine Datei speichern kann.
Ich habe schon im Netz nach einer Lib gesucht, aber irgendwie nix gefunden...kann ich mir kaum vorstellen.
Ansich ist das ja kein großes Thema, aber möchte nicht meine Zeit damit vergeuden das selbst zu implementieren...

Kennt da irgendjemand eine Bibliothek (wichtig: VC 2008!!!) oder CodeSnippet?

Gruß

Re: C++-Screenshot

BeitragVerfasst: 16.03.2017, 12:21
von joggel
Okay...update.
Ich habe jetzt den Screen in einem für mich verwendbaren Speicherbereich, also char* myData[ImageSize].
Header habe ich auch..

Re: C++-Screenshot

BeitragVerfasst: 06.04.2017, 11:17
von Goderion
Hallo.

Hier vielleicht ein interessanter Artikel:
https://www.codeproject.com/Articles/50 ... the-screen

Aus dem oben genannten Artikel:
Code: Ansicht erweitern :: Alles auswählen
Void CaptureScreen()
{
int nScreenWidth = GetSystemMetrics(SM_CXSCREEN);
int nScreenHeight = GetSystemMetrics(SM_CYSCREEN);
HWND hDesktopWnd = GetDesktopWindow();
HDC hDesktopDC = GetDC(hDesktopWnd);
HDC hCaptureDC = CreateCompatibleDC(hDesktopDC);
HBITMAP hCaptureBitmap =CreateCompatibleBitmap(hDesktopDC,
nScreenWidth, nScreenHeight);
SelectObject(hCaptureDC,hCaptureBitmap);
BitBlt(hCaptureDC,0,0,nScreenWidth,nScreenHeight,
hDesktopDC,0,0,SRCCOPY|CAPTUREBLT);
SaveCapturedBitmap(hCaptureBitmap); //Place holder - Put your code
//here to save the captured image to disk
ReleaseDC(hDesktopWnd,hDesktopDC);
DeleteDC(hCaptureDC);
DeleteObject(hCaptureBitmap);
}


Ich glaube in dem Artikel steht auch, wie man das dann in eine Datei speichert.

EDIT: statt Vorschau auf Absenden ... NARF

Re: C++-Screenshot

BeitragVerfasst: 06.04.2017, 11:19
von joggel
Hallo,

ja, soweit war ich auch. Ich hatte aber nicht das BMP in eine Datei speichern können.
Aber ich habe jetzt dafür eine Lib gefunden: http://cimg.eu/