Français
Source/ Codesnippets

Bildschirmauflösung changement / Vollbild / Fullscreen 2021

 

Sven
Bader
Aus irgendeinem Grund funktionierte cela Changement qui Bildschirmauflösung dans meinen alten Spielen pas plus, sowohl avec qui Windows API comme aussi avec qui prospeed.dll pas. qui herangehensweise ist normalement, qui Bildschirmeinstellungen per EnumDisplaySettings trop holen et dans dem Bereich seulement qui Werte pour qui Bildschirmauflösung anzupassen et alles autre unberührt trop laisser.

Zum Debuggen habe je EnumDisplaySettings fonctionnement au cours de un d'autre Spiel qui Auflösung korrekt geändert hat. So kam je puis, dass mon Monitor qui 60Hz Bildwiederholrate, quelle chez 1920x1200 Standard sommes chez 640x480 pas soutenu.

mon Code ist aussi pas parfait, il testet lediglich geläufige Bildwiederholraten et wählt chez einem Auflösungswechsel qui höchste. "Exotische" Bildwiederholraten volonté alors pas berücksichtigt.

un weiterer faute, qui häufig begangen wird, ist qui Fullscreen Flag &CDS_FULLSCREEN trop oublier qc. cet sagt aus, dass qui Auflösung pas dauerhaft pour den Desktop-Einsatz mais lediglich pour qui la durée qui Programmausführung geändert volonté soll. So wird chez einem Programmabsturz ou bien unsauberen finissons qui ursprüngliche Auflösung des System wiederhergestellt. je mon, dass aussi un effet sur fremde la fenêtre (verkleinern) et cela Déplacer de Desktop Icônes so verhindert wird.
DEF EnumDisplaySettings(3) !"User32","EnumDisplaySettingsA"
DEF ChangeDisplaySettings(2) !"User32","ChangeDisplaySettingsA"
Déclarer devmode#,devmodeoriginal#,fehl&
Faible devmode#,148
Faible devmodeoriginal#, 148

Proc ChangeRes2021

    Paramètres x&, y&
    declare 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

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

        ChangeDisplaySettings(devmodeoriginal#,0)

    d'autre

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

        whileloop 7

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

            si (fehl& = 0)

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

            endif

        endwhile

    endif

ENDPROC

cls
ChangeRes2021(1024,768)
settimer 10000'pour 10 Sekunden wiederherstellen
waitinput
killtimer
end
 
15.09.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.503 Views

Untitledvor 0 min.
Sven Bader01.02.2023
Ernst29.05.2022
Thomas Freier18.02.2022
p.specht18.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

Sven Bader (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie