18.03.2023, 16:48
Hallo,
Wieder mal ein Problem wo ich die Lösung vermutlich nicht sehe. Vermutlich wieder irgendwas falsch oder es fehlt noch was.
Das Problem:
Ich möchte ein Programm schreiben, das mir alle möglichen Auflösungen der aktuellen Grafikkarte auflistet.
Dazu wollte ich mir die EnumDisplaySettingsA Funktion aus der USER32.DLL zunutze machen.
Leider bekomme ich kein Ergebnis der Funktion.
Programmiersprache ist QB64: https://qb64.com/
Hier mal der Code:
Ergebnis Ausgabe:
Hab ein ähnliches Tool schon in VB6 und C++ geschrieben, da ging es aber.
Hier verstehe ich halt nicht was da nun falsch sein sollte.
Wieder mal ein Problem wo ich die Lösung vermutlich nicht sehe. Vermutlich wieder irgendwas falsch oder es fehlt noch was.
Das Problem:
Ich möchte ein Programm schreiben, das mir alle möglichen Auflösungen der aktuellen Grafikkarte auflistet.
Dazu wollte ich mir die EnumDisplaySettingsA Funktion aus der USER32.DLL zunutze machen.
Leider bekomme ich kein Ergebnis der Funktion.
Programmiersprache ist QB64: https://qb64.com/
Hier mal der Code:
Code:
TYPE DEVMODE
dmDeviceName AS STRING * 32
dmSpecVersion AS INTEGER
dmDriverVersion AS INTEGER
dmSize AS INTEGER
dmDriverExtra AS INTEGER
dmFields AS LONG
dmOrientation AS INTEGER
dmPaperSize AS INTEGER
dmPaperLength AS INTEGER
dmPaperWidth AS INTEGER
dmScale AS INTEGER
dmCopies AS INTEGER
dmDefaultSource AS INTEGER
dmPrintQuality AS INTEGER
dmColor AS INTEGER
dmDuplex AS INTEGER
dmYResolution AS INTEGER
dmTTOption AS INTEGER
dmCollate AS INTEGER
dmFormName AS STRING * 32
dmUnusedPadding AS INTEGER
dmBitsPerPel AS INTEGER
dmPelsWidth AS LONG
dmPelsHeight AS LONG
dmDisplayFlags AS LONG
dmDisplayFrequency AS LONG
END TYPE
DECLARE DYNAMIC LIBRARY "User32"
FUNCTION EnumDisplaySettings& ALIAS "EnumDisplaySettingsA" (_
lpszDeviceName AS LONG, _
iModeNum AS LONG, _
lpDevMode AS DEVMODE)
END DECLARE
DIM result AS LONG
DIM i AS LONG
DIM DevM AS DEVMODE
result = EnumDisplaySettings&(0, i, DevM)
PRINT result
PRINT "-> " + STR$(DevM.dmPelsWidth) + " x " + STR$(DevM.dmPelsHeight)
Ergebnis Ausgabe:
Code:
0
-> 0 x 0
Hab ein ähnliches Tool schon in VB6 und C++ geschrieben, da ging es aber.
Hier verstehe ich halt nicht was da nun falsch sein sollte.