Changer la résolution d'écran
Publié : sam. 12/nov./2005 16:13
Bonjour, tout le monde
J'ai commencé à faire un code pour modifier la résolution d'écran, mais malheureusement, il n'y a rien qui se passe.
Avez-vous une idée?
J'ai commencé à faire un code pour modifier la résolution d'écran, mais malheureusement, il n'y a rien qui se passe.
Avez-vous une idée?
;lien pour les constantes dm_* : http://oem.zeno.com/public/?SDK/0_Super ... nts/dm.htm
#CDS_UPDATEREGISTRY =$1
#CDS_TEST =$2
#CDS_FULLSCREEN =$4
#CDS_GLOBAL =$8
#CDS_SET_PRIMARY =$10
#CDS_RESET =$40000000
#CDS_SETRECT =$20000000
#CDS_NORESET =$10000000
#DISP_CHANGE_SUCCESSFUL =0
#DISP_CHANGE_RESTART =1
#DISP_CHANGE_FAILED = -1
#DISP_CHANGE_BADMODE =-2
#DISP_CHANGE_NOTUPDATED =-3
#DISP_CHANGE_BADFLAGS =-4
#DISP_CHANGE_BADPARAM =-5
#DM_BITSPERPEL =$40000
#DM_PELSWIDTH =$80000
#DM_PELSHEIGHT =$100000
#DM_DISPLAYFREQUENCY =$400000
;ExamineDesktops()
;DD = DesktopDepth(0)
;DH = DesktopHeight(0)
;DW = DesktopWidth(0)
Procedure SetResolution(RezX,RezY,NbCoul,Frequence,Memoriser); si SetResolution=2 la résolution est identique à l'actuelle, si 1 erreur lors de la recherche des infos, sinon regarder #DISP_CHANG_...
If EnumDisplaySettings_(0, -1 ,dmEcran.DEVMODE)
If RezX=dmEcran\dmPelsWidth And RezY=dmEcran\dmPelsHeight And NbCoul=dmEcran\dmBitsPerPel And Frequency=dmEcran\dmDisplayFrequency: ProcedureReturn 2: EndIf
dmEcran\dmFields= #DM_PELSWIDTH | #DM_PELSHEIGHT | #DM_BITSPERPEL | #DM_DISPLAYFREQUENCY
dmEcran\dmPelsWidth=RezX
dmEcran\dmPelsHeight=RezY
dmEcran\dmBitsPerPel=NbCoul
dmEcran\dmDisplayFrequency=Frequence
If Memoriser=1:Memoriser=#CDS_UPDATEREGISTRY| #CDS_NORESET : Else :Memoriser=#CDS_TEST| #CDS_NORESET : EndIf
dmx=ChangeDisplaySettings_(dmEcran,Memoriser)
;SendMessage_(65535, 27, 0, 0)
;SendMessage_($FFFF, $7E, NbCoul, RezY * Pow(2,16) + RezX)
ProcedureReturn dmx
Else
ProcedureReturn 1
EndIf
EndProcedure
SetResolution(1920,1200,16,60,1)