Soyez le premier à donner votre avis sur cette source.
Vue 5 286 fois - Téléchargée 570 fois
unit mdlChangeRes; interface uses Windows; function GetResX():integer; function GetResY():integer; function GetNbCoul():integer; function SetRes(const ResX,ResY,NbCoul:integer):integer; implementation function GetResX():integer; var DM:_devicemodeA; begin EnumDisplaySettings('',uint(-1),DM); Result:=DM.dmPelsWidth; end; function GetResY():integer; var DM:_devicemodeA; begin EnumDisplaySettings('',uint(-1),DM); Result:=DM.dmPelsHeight; end; function GetNbCoul():integer; var DM:_devicemodeA; begin EnumDisplaySettings('',uint(-1),DM); Result:=DM.dmBitsPerPel; end; function SetRes(const ResX,ResY,NbCoul:integer):integer; var DM:_devicemodeA; begin EnumDisplaySettings('',uint(-1),DM); DM.dmFields:=0; if (ResX<>DM.dmPelsWidth) then DM.dmFields:=DM_PELSWIDTH; if (ResY<>DM.dmPelsHeight) then DM.dmFields:=(DM.dmFields or DM_PELSHEIGHT); if (NbCoul<>DM.dmBitsPerPel) then DM.dmFields:=(DM.dmFields or DM_BITSPERPEL); if (DM.dmFields<>0) then begin DM.dmPelsWidth:=ResX; DM.dmPelsHeight:=ResY; DM.dmBitsPerPel:=NbCoul; if (ChangeDisplaySettings(DM,CDS_UPDATEREGISTRY)=DISP_CHANGE_SUCCESSFUL) then begin SendMessage($FFFF,$1B,0,0); SendMessage($FFFF,$7E,NbCoul,(ResX + $10000 * ResY)); Result:=0; end else Result:=1; end; end; end.
Effectivement, tel que présenté, ce module ne fonctionne pas !
Pour obtenir des résultats cohérents et exploitables, il suffit de remplacer, dans chaque ligne contenant '' par nil comme ci-dessous
EnumDisplaySettings('',uint(-1),DM);
remplacé par ceci :
EnumDisplaySettings(nil,uint(-1),DM);
Salutations.
Pierre.
franchement merci (c'est le probleme ke jai :))))
ce code je lai pas encore essayer mais je te donnerai de mes nouvelle
je ne suis pas trop fort en delphi , mais jai adapter ton code pour ma DLL mIRC, encore que la partie SetRes ne fonctionne pas lol
mé ce que me renvois les 3 autres est etrange
qd jveu voir les données du style %ResX x %ResY par %NbCoul
couleurs
jai ca en reponse: 2012486443 x 2012486493 par 4294967295 couleurs
dois faloir faire une conversion nan ?
jai commencer Delphi ya 1 semaine lolll alors c new pour moi, jai kelke base en pascal mé c t ya longtemps ;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.