Wie deaktiviere ich einen sekundären Monitor (mit ChangeDisplaySettingsEx)?

Ich versuche den Anweisungen zu folgenMSDN hier angegeben um einen sekundären Monitor zu deaktivieren.

Ich versuche, speziell diese Funktionen zu verwenden, um die Kompatibilität mit älteren Windows-Versionen zu ermöglichen.

Es gelingt mir jedoch nicht, einen Monitor zu deaktivieren. Ich starte und teste dies unter Windows 7 x64. Alles was ich bekomme ist ein flackernder Bildschirm. Der Code erkennt den Monitor definitiv richtig - ich habe es geschafft, die Auflösung zu ändern und die Anzeigemodi einfach anzuzeigen.

Hier sind (Teile) meines Codes - Ich habe viele Variationen der Felder für DEVMODE ausprobiert

DEVMODE    deleteScreenMode;
ZeroMemory(&deleteScreenMode, sizeof(DEVMODE));
deleteScreenMode.dmSize = sizeof(DEVMODE);
deleteScreenMode.dmDriverExtra = 0;
deleteScreenMode.dmFields = DM_POSITION | DM_PELSHEIGHT | DM_PELSWIDTH;
deleteScreenMode.dmPelsWidth = 0;
deleteScreenMode.dmPelsHeight = 0;

POINTL delete;
deleteion.x=0;
deleteion.y=0;
deleteScreenMode.dmPosition = deleteion;

LONG result = ChangeDisplaySettingsEx(devName, 
                                        &deleteScreenMode,
                                        NULL,
                                        CDS_UPDATEREGISTRY,
                                        NULL);

Hat jemand Erfahrung damit? Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage