[C++] Nicht gespeicherter Screenshot

Moin,

ich verstehe Deine Frage nicht so ganz :confused:

Nicht speichern, aber später noch verwenden? ? ?

Wie meinst Du das

Ich nutze "SimpleScreenshot V1.4" - ein tolles Freeware-Progrämmel :-)
Du findest es hier: http://www.wt-rate.com/

Gruß
Klaus
 
Ich meinte, dass man eine Funktion hat, die den Screenshot vom gesamten Bildschirm macht.
Dieser soll nicht in einer Datei gespeichert werden, die man nachher wieder laden muss, sondern die Funktion soll den Screenshot in irgendeiner Weise zurückgeben. :)
Bis jetzt habe ich nur Codes gefunden, die einen Screenshot in einer Datei speichern, und das wäre bei sofortiger Verwendung sinnlos... :)
Bitte ohne ATL und MFC, ich benutze Visual Studio Express Edition....
 
Grundsätzlich schon. Du holst dir einfach den handle auf die aktuelle ShellView, lässt dir einen DeviceContext zuteilen kreierst dazu dann einen kompatiblen DC dazu dann eine kompatible BitMap, selektierst diese im kompatiblen DC und überträgst die Bits aus der ShellView via BitBlt in den kompatiblen DC. Dann hast du in der BitMap genau die Infos des Screenshots.
 
Bis jetzt habe ich nur Codes gefunden, die einen Screenshot in einer Datei speichern, und das wäre bei sofortiger Verwendung sinnlos... :)

Also - für sinnlos halte ich das überhaupt nicht! I. d. R. will man doch eine Kopie für exteren Zwecke haben! Warum willst Du das Speichern extra programmieren

Zudem sollte sich ja, so es denn ein solches Tool überhaupt gibt, auch eine Kopie im Speicher behalten lassen, oder ?

Gruß
Klaus
 
@vfl_freak: Ich möchte nur einen Screenshot machen, sofort verwenden und danach brauche ich ihn schon nicht mehr...

@Cromon: Wäre das dann ungefähr so?
Code:
HDC hdcScreen = GetDC(NULL);
HDC hdcTemp = CreateCompatibleDC(hdcScreen);
HBITMAP hbmpTemp = CreateCompatibleBitmap(hdcTemp);
SelectObject(hdcTemp, hbmpTemp);
BitBlt(hdcTemp, 0, 0, 1024, 768, hdcScreen, 0, 0, SRCCOPY);
Ich bin noch Anfänger in C++ :)
 
Ich weis ja nicht welchen Compiler du benutzt, aber wenn du einen von Borland bzw. Codegear hättest (CBuilder etc.), dann könntest du ja ein Blick in meinen Thread werfen. Da wäre dann auch die Lösung.

Wie gesagt nur für Borland.
 
Zurück