EnumDisplaySettings

Aus API-Wiki
Version vom 7. Oktober 2016, 21:22 Uhr von Jochen Wierum (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Die 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

Verweise

Quellen

Verwandte Funktionen