ChangeDisplaySettings auch umgekehrt anwendbar ?
-
Hi
Ich brauche die Liste aller Auflösungen, die aller Farbtiefen und die aller Frequenzen. Um das zu setzen benutzt man ChangeDislaySettings mit dem Typ DEVMODE. Ich habe mich in winuser.h umgeschaut aber nix gefunden. Google brachte mir nur, wie ich die aktuelle auslese, und das weis ich schon.
Kennt sich da jemand aus?
MfG, X.DarkForce.X
PS: Für alle dies nicht gekapt haben, ich will alle auf diesem Rechner möglichen Auflösungen, Farbtiefen und Frequenzen auslesen.
-
Ich weiß nur wie man das mit DX9-11 macht aber mit der winapi kann man meines Wissens nur die aktuelle Auflösung mit
int screenX = GetSystemMetrics(SM_CXSCREEN); int screenY = GetSystemMetrics(SM_CYSCREEN);herrausfinden.
Edit: ich verweise dich mal auf den Thread: http://www.c-plusplus.net/forum/viewtopic-var-t-is-88821.html
-
Wäre es okay, den Weg über DirectX zu gehen?
Dann kämeLPDIRECT3DX::EnumAdapterModesin Frage.
Die Doku ist hier.
Edit: Zu langsam, mit DirectX 10 sollte es doch auch gehen, oder?
Edit2: das von geeky vorgeschlageneEnumDisplaySettingsist wohl das Beste.
-
Mit DX10 und 11 benutzt man DXGI. Aber eventuell kann man die Grafikmodi testen. Siehe hier:
"Specifying CDS_TEST allows an application to determine which graphics modes are actually valid, without causing the system to change to that graphics mode."
http://msdn.microsoft.com/en-us/library/dd183411(VS.85).aspx
-