Español
Fuente/ Codesnippets

Bildschirmauflösung ändern / Vollbild / Fullscreen 2021

 

Sven
Bader
Aus irgendeinem Grund funktionierte el Cambio el Bildschirmauflösung en media alten Spielen no mehr, sowohl con el Windows API como auch con el prospeed.dll no. Der herangehensweise es normalerweise, el Bildschirmeinstellungen por EnumDisplaySettings a holen y el Zona sólo el Werte para el Bildschirmauflösung anzupassen y alles otro unberührt que se.

Zum Debuggen Yo EnumDisplaySettings ausgeführt während una más Spiel el Auflösung korrekt geändert ha. So kam Yo darauf, dass mein Monitor el 60Hz Bildwiederholrate, welche en 1920x1200 Standard son en 640x480 no unterstützt.

Mein Code es auch no perfekt, él testet lediglich geläufige Bildwiederholraten y wählt en una Auflösungswechsel el höchste. "Exotische" Bildwiederholraten voluntad also no berücksichtigt.

Ein weiterer Fehler, el häufig begangen se, Es el Fullscreen Flag &CDS_FULLSCREEN a vergessen. Diese sagt de, dass el Auflösung no dauerhaft para el Desktop-Einsatz pero lediglich para el Dauer el Programmausführung geändert voluntad se. So se en una Programmabsturz oder unsauberen Beenden el ursprüngliche Auflösung des Sistema wiederhergestellt. Yo mi, dass auch una Effekt en fremde Ventana (verkleinern) y el Verschieben de Desktop Icons así verhindert se.
DEF EnumDisplaySettings(3) !"USER32","EnumDisplaySettingsA"
DEF ChangeDisplaySettings(2) !"USER32","ChangeDisplaySettingsA"
Declarar devmode#,devmodeoriginal#,fehl&
Dim devmode#,148
Dim devmodeoriginal#, 148

Proc ChangeRes2021

    Parámetros x&, y&
    declarar hz&[8]
    hz&[1] = 360
    hz&[2] = 240
    hz&[3] = 144
    hz&[4] = 120
    hz&[5] = 75
    hz&[6] = 60
    hz&[7] = 59
    Def &CDS_UPDATEREGISTRY       $00000001
    Def &CDS_TEST                 $00000002
    Def &CDS_FULLSCREEN           $00000004
    Def &CDS_GLOBAL               $00000008
    Def &CDS_SET_PRIMARY          $00000010
    Def &CDS_RESET                $40000000
    Def &CDS_SETRECT              $20000000
    Def &CDS_NORESET              $10000000

    if ((x& = 0) | (y& = 0))

        ChangeDisplaySettings(devmodeoriginal#,0)

    más

        EnumDisplaySettings(0, -1 ,devmode#)
        long devmode#,104=%BitsPixel
        long devmode#,108=x&
        long devmode#,112=y&
        fehl& = -2

        whileloop 7

            long devmode#,120 = hz&[&bucle]
            fehl& = ChangeDisplaySettings(devmode#,&CDS_TEST)

            if (fehl& = 0)

                'messagebox Str$(hz&[&loop])+ "Hz is the highest working refresh rate","",0
                fehl& = ChangeDisplaySettings(devmode#,&CDS_FULLSCREEN)
                romper

            endif

        endwhile

    endif

ENDPROC

cls
ChangeRes2021(1024,768)
settimer 10000'después de 10 Sekunden wiederherstellen
waitinput
killtimer
end
 
15.09.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.511 Views

Untitledvor 0 min.
Sven Bader01.02.2023
Ernst29.05.2022
Thomas Freier18.02.2022
p.specht18.11.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

Sven Bader (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie