EnumDisplaySettings
Aus API-Wiki
Zur Navigation springenZur Suche springenDie Funktion liefert Informationen über Anzeige-Einstellungen. Sie bietet die Möglichkeit die aktuellen Bildschirmeinstellungen wie Auflösung und Wiederholfrequenz auszulesen.
Declare Function EnumDisplaySettings Lib "user32" _
Alias "EnumDisplaySettingsA" ( _
ByVal lpszDeviceName As Long, _
ByVal iModeNum As Long, _
ByRef lpDevMode As DEVMODE) As Long
Parameter
lpszDeviceName
- Ein Zeiger auf einen nullterminierten String, der das Ausgabegerät bezeichnet, desses Eigenschaften ausgelesen werden sollen. 0 für das Ausgabegerät welches der aktuelle Thread nutzt.
iModeNum
- Eine Ganzzahl, die die Nummer des Ausgabegerätes angibt.
- Eine der Konstanten ENUM_CURRENT_SETTINGS oder ENUM_REGISTRY_SETTINGS, die angibt, ob die aktuell gesetzten oder die in der Registry hinterlegten und beim nächsten Systemstart gesetzten Werte ausgelesen werden.
lpDevMode
- Einen Zeiger auf eine DEVMODE-Struktur, deren Member dmSize und dmDriverExtra initialisiert sein müssen. dmSize muss die Größe der initialisierten Variable in Bytes enthalten, dmDriverExtra gibt an, wieviele Bytes extra initialisiert wurden, um zusätzliche Treiberinformationen aufzunehmen; sollte in VB 0 sein.
Rückgabe
Die Funktion gibt einen Wert des Types Long ungleich 0 bei Erfolg, den Wert 0 bei Misserfolg zurück. Der Rückgabewert 0 weist bei einer angegebenen Gerätenummer (2. Parameter) darauf hin, dass kein zugehöriges Ausgabegerät existiert. Die Funktion setzt die Eigenschaften: dmBitsPerPel, dmPelsWidth, dmPelsHeight, dmDisplayFlags, dmDisplayFrequency in der übergebenen DEVMODE-Struktur.
Beispiel
Dim retval As Integer
Dim iDevMode As Integer
Dim DevM As DEVMODE
iDevMode = 0
Do
retval = EnumDisplaySettings(0, iDevMode, DevM)
Debug.Print DevM.dmPelsWidth & " x " & DevM.dmPelsHeight & " @ " & DevM.dmDisplayFrequency & " Hz"
iDevMode = iDevMode + 1
Loop While retval <> 0