Zurück   RR:Board > Computer > Programmierung & Entwicklung

Entwicklung und Coding in verschiedenen Programmiersprachen: Assembly, C++, C#, Perl, Delphi, .NET, Visual Basic...
Antwort
 
Themen-Optionen Thema durchsuchen

[C/C++] - Zweiten Monitor de/aktivieren
Alt 06.05.2012, 15:20   # 1
MasterJulian
Ehrenmitglied
vip
Bewertung:
MasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 Punkte
MasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 Punkte
Registriert seit: Dec 2004
Internet: VDSL 16Mbit
Beiträge: 7.578
Power: 62
Ich arbeite nun seit ein paar Wochen permanent mit einem zweiten Monitor. Jedoch gibt es Situationen in denen ich den Monitor de/aktivieren möchte. Ausschalten reicht nicht. Ich hab das So versucht (diverse Quelle im Internet bestätigen mein Vorgehen):
Code:
void deactivateSecondScreen() { DEVMODE DevMode; DISPLAY_DEVICE device; memset(&device, 0, sizeof(DISPLAY_DEVICE)); device.cb = sizeof(device); memset(&DevMode, 0, sizeof(DevMode)); DevMode.dmPosition.x = 0; DevMode.dmPosition.y = 0; DevMode.dmPelsHeight = 0; DevMode.dmPelsWidth = 0; DevMode.dmSize = sizeof(DevMode); EnumDisplayDevices(NULL,0,&device,0); //Display 1 is secondary Screen according to Desk.cpl printf("Change Display: %s\n",device.DeviceName); if(ChangeDisplaySettingsEx((LPSTR)device.DeviceName,&DevMode,NULL,CDS_UPDATEREGISTRY,NULL) == DISP_CHANGE_SUCCESSFUL) printf("Success\n"); else printf("Failed\n"); }
Wenn der Code ausgeführt wird, werden beide Monitore kurz schwarz und beiden gehen dann wieder an. Als Meldung bekomme ich
"Change Display: \\.\DISPLAY1
Success"
Jemand ne Idee was ich falsch mache? Der Code aus der MSDN: http://msdn.microsoft.com/en-us/libr...17(VS.85).aspx
funktioniert auch nicht (Result = -858993460).
PS: Kommentare wie "nutz doch UltraMon" könnt ihr euch schenken.
//edit: Ich verwende VS2012 und W7 X64

Mein DIY T-Amp Projekt
Ich biete KEINE Privatberatung!
Das hier ist ein Forum. Erstell nen Thread wenns Probleme gibt.

Geändert von MasterJulian (06.05.2012 um 15:22 Uhr).
  MasterJulian ist offline   Mit Zitat antworten

Alt 06.05.2012, 15:33   # 2
Rushh0ur
Master of supply
rot rot rot rot 
Bewertung:
Rushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 PunkteRushh0ur hat 1000 bis 2499 Punkte
Registriert seit: Feb 2007
Internet: DSL2 32K
Beiträge: 1.279
Power: 22
Wahrscheinlich musst du noch die Strukturvariable dmFields setzen, damit er weiß welche Eigenschaften er übernehmen soll.
->
http://www.xtremevbtalk.com/showpost...6&postcount=16

Mfg Rushh0ur


  Rushh0ur ist offline   Mit Zitat antworten

AW: Zweiten Monitor de/aktivieren
Alt 06.05.2012, 16:37   # 3
MasterJulian
Ehrenmitglied
vip
Bewertung:
MasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 Punkte
MasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 PunkteMasterJulian hat mehr als 25.000 Punkte
Registriert seit: Dec 2004
Internet: VDSL 16Mbit
Beiträge: 7.578
Power: 62
Themenstarter
Mist das hab ich vergessen mit raus zu kopieren (hab unwichtigen Code entfernt, dabei wohl auch die Fields zeile erwischt). Fields wird natürlich gesetzt, sonst passiert gar nichts.
Code:
void deactivateSecondScreen() { DEVMODE DevMode; DISPLAY_DEVICE device; memset(&device, 0, sizeof(DISPLAY_DEVICE)); device.cb = sizeof(device); memset(&DevMode, 0, sizeof(DevMode)); DevMode.dmPosition.x = 0; DevMode.dmPosition.y = 0; DevMode.dmPelsHeight = 0; DevMode.dmPelsWidth = 0; DevMode.dmSize = sizeof(DevMode); DevMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_POSITION; EnumDisplayDevices(NULL,0,&device,0); //Display 1 is secondary Screen according to Desk.cpl printf("Change Display: %s\n",device.DeviceName); if(ChangeDisplaySettingsEx((LPSTR)device.DeviceName,&DevMode,NULL,CDS_UPDATEREGISTRY,NULL) == DISP_CHANGE_SUCCESSFUL) printf("Success\n"); else printf("Failed\n"); }
Wie gesagt kurzes "Flackern" (beide Monitore gehen kurz aus und an) aber mehr nicht.

Mein DIY T-Amp Projekt
Ich biete KEINE Privatberatung!
Das hier ist ein Forum. Erstell nen Thread wenns Probleme gibt.
  MasterJulian ist offline   Mit Zitat antworten
Antwort

RR:Board > Computer > Programmierung & Entwicklung > [C/C++] - Zweiten Monitor de/aktivieren


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zweiten Monitor anschließen jurik PC Hardware 4 18.12.2012 18:52
[Windows 7] - Programm auf zweiten Monitor zuweisen enCore Windows 3 27.06.2010 03:26
Stromproblem bei zweiten Monitor .:Alex Mercer:. Alltagsprobleme 6 11.12.2009 15:15
GeForce 8600GT zweiten DVI slot aktivieren / Dualviewing / Klonen Master_P Software 13 08.10.2009 13:03
Zweiten Monitor anschließen SoaD PC Hardware 7 19.07.2009 20:29



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.
vBulletin Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.