Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Wie mache ich einen screenshot in Z-Order mit PrintWindow-API?

  Alt 27. Apr 2019, 19:26
Zitat:
Dann denke ich, dass mein Problem hier ist, aber ich weiß nicht, wie ich es lösen soll.
Wenn das C sample funktioniert sollte es das auch tun wenn die Enumerierung erfolgreich war.
Meine Vermutung ist das dein Problem die Funktion GetTopWindow ist die ist nicht zuverlässig.

Das hier ist aber schon mal unnötig auch wenn es jetzt direkt nichts mit dem Problem zu tun hat.

Delphi-Quellcode:
     DeleteObject(hBmpScreen);
     DeleteDC(_hDcScreen);

     hBmpScreen := hBmpScreenResized;
     _hDcScreen := hDcScreenResized;
   end;

   bmp := TBitmap.Create;
   bmp.Handle := hBmpScreen;
   bmp.SaveToFile('output.bmp');
   bmp.Free;
du löschst das _hDcScreen
weist diesen ein neues zu und zwar das des hDcScreenResized

Und anschließend wird das _hDcScreen nicht mehr verwendet.
Das sieht mir sehr nach einem Speicherleck aus..

Google mal nach GetTopWindow

gruss

Geändert von EWeiss (27. Apr 2019 um 19:28 Uhr)
  Mit Zitat antworten Zitat