So, inzwischen ist doch noch ein Problemchen aufgetaucht: Ich habe mich als gewohnheitsmäßiger Multimonitor-User an das
MSDN gehalten. Zitat:
Zitat:
If there are multiple monitors on the system, calling CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) will create a
DC covering all the monitors.
Und was ist? Nischt ist! Platziert man ein Fenster über der Schnittlinie zweier Monitore, dann grabbt die Routine nur den Teil des Fensters, der auf dem primären Bildschirm liegt. Der Teil außerhalb wird zwar von den Dimensionen des Bitmaps her richtig erfasst, ist aber schön weiß eingefärbt.
Liegt das Fenster gänzlich auf einem sekundären Bildschirm, dann ist der Screenshot komplett weiß.
Hat jemand eine Idee woran das nun wieder liegt?
EDIT: *Kopfklatsch* - Das war mal wieder ein zu niedriger Kaffeepegel *gg* Ich habe mit GetDeviceCaps die Auflösung geholt und da scheints etwas inkonsequent zu werden beim Win32API. Zwar habe ich den
DC für den kompletten Desktop über alle Bildschirme richtig geholt, aber GetDeviceCaps liefert trotzdem nur den primären Monitor:
Zitat:
On a multiple monitor system, if hdc is the desktop, then GetDeviceCaps returns the capabilities of the primary monitor.
Also habe ich stattdessen Screen.DesktopHeight bzw. Screen.DesktopWidth verwendet und schon gehts.