Quelltext
1: 2: 3: 4:
| LONG ChangeDisplaySettings( LPDEVMODE lpDevMode, // graphics mode DWORD dwflags // graphics mode options ); |
Für dwFlags solltest du vielleicht CDS_UPDATEREGISTRY (schreibt die Daten auch in die Registry) oder 0 (ändert nur die Anzeige) angeben, statt einem Zeiger auf eine DEVMODE-struct übergibst du in Delphi einfach einen TDevMode. Das ganze könnte ungefähr so aussehen:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| var dm: TDevMode; ... dm.dmSize := sizeof(TDevMode); dm.dmDriverExtra := 0; dm.dmDisplayFrequency := DEINE_FREQUENZ_IN_HERTZ; dm.dmFields := DM_DISPLAYFREQUENCY; ChangeDisplaySettings(dm, CDS_UPDATEREGISTRY); |
(ungetestet)
Das wäre der "schmutzige" Weg. Korrekterweise solltest du mit EnumDisplaySettings() alle verfügbaren Modi aufzählen und dir einen passenden daraus aussuchen, aber so weißte schon mal wie's geht ;c)
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.