Einzelnen Beitrag anzeigen

Muhkopp

Registriert seit: 1. Feb 2015
4 Beiträge
 
#1

BitBlt liefert nur weiß als Ergebnis (gelöst)

  Alt 29. Sep 2015, 13:39
Hallo liebe Delphianer

Ich sitze gerade vor einem misteriösen Phänomen und hatte gehofft, dass jemand von euch damit schon Erfahrungen hat.

In einem Programm dass seit WinXP gepflegt wird, wird an einer Stelle ein Screenshot von einem parallel laufenden Programm gemacht und dann weiter verarbeitet.
Bisher lief das auch völlig reibungslos.

Der Versuch auf Windows 10 hingegen scheitert leider kläglich:
hier liefert der Kopierversuch ein korrekt großes, aber komplett weißes Bitmap zurück.

Der Verdacht liegt also nahe, dass es bei Windows 10 eine Besonderheit zu beachten gibt.

Der Vollständigkeit halber hier der entsprechende Aufruf:

BitBlt(bm.Canvas.Handle, 0, 0, bm.Width, bm.Height, GetWindowDC(myhwnd), 0, 0, SRCCOPY); bm ist ein TBitmap in der richtigen Größe (natürlich auch mit angelegtem Speicher) und myhwnd ist ein (zumindest in den anderen Versionen) korrekt erzeugtes Handle.



NACHTRAG:
Der Fehler lag leider an meiner Unbedachtheit.
Ich hatte die Windows 10 Testumgebung auf einer virtuellen Maschine aufgesetzt, diese produziert den oben beschriebenen Fehler.
Unter einem "normalen" Windows 10 Rechner funktioniert alles wieder wie gewohnt.
Also merke: keine Testumgebungen mit VMWare erstellen

Geändert von Muhkopp (29. Sep 2015 um 15:29 Uhr)
  Mit Zitat antworten Zitat