IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WebDev Discussion :

[WB14] Changer la résolution écran


Sujet :

WebDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de S4F__
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 187
    Par défaut [WB14] Changer la résolution écran
    Bonjour,

    Est-ce possible de changer la résolution de l'écran de l'utilisateur ?

    J'aimerais le forcer à être sur telle résolution lorsqu'il se connecte à une de mes applications web s'il n'a pas la résolution que je souhaite.

    Cordialement,

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    J'espère bien que non
    En tout cas, le jour ou un site Web me fait ça, son webaster va m'entendre

  3. #3
    Membre confirmé Avatar de S4F__
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 187
    Par défaut
    Ce sont pour des applications métier en interne dans une entreprise. Donc je pense pas que ça va déranger.

    Mais si ce n'est pas réalisable. Je ferais un simple message d'information si la résolution n'est pas celle souhaité avec les options SysXRes et SysYRes pour me renseigner..

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    En interne évidemment, c'est une autre affaire

    Mais je ne crois pas que ce soit possible, désolé.

  5. #5
    Membre confirmé Avatar de S4F__
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 187
    Par défaut
    Après une petite heure de recherche sur différents sites , j'ai trouvé 2 solutions qui permettent de changer la résolution de l'écran sur une application Webdev si vous ne voulez pas de la résolution de l'utilisateur...

    EN COMMUN :

    Récupérer la résolution de l'écran de l'utilisateur avec les fonction : SysXRes()
    et SysYRes() -> en code navigateur

    Faire une procédure locale navigateur sur la première page du projet qui vérifie si la résolution actuelle est bonne. Dans le cas contraire faire SOLUTION 1 ou SOLUTION 2:

    SOLUTION 1 :
    J'ai trouvé une petit .exe (aqr.exe) qui se lance depuis une fenêtre DOS et qui a besoin de deux paramètres (w et h).
    Il suffit de créer un fichier .bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @echo off
    "c:\program files\aqr.exe" -w1024 -h768
    cls
    De webdev faire un LanceAppli("Chemin_fichier.bat", ...)


    SOLUTION 2:
    J'ai trouvé sur un site quelqu'un qui l'a fait depuis Windev (Fonctionne aussi sur WebDev, je viens de tester)

    Procédure Principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    PROCEDURE ModifieConfigurationEcran(eParamLargeur,eParamHauteur,eParamNbCouleur,bDefaut=Vrai,bRedmarrageWindow=Faux)
    //Modifie l'affiche de l'écran avec en ENTRE: 
    //- <eParamLargeur> pixels de largeur 
    //- <eParamHauteur> pixels de hauteur
    //- <eParamNbCouleur> bits de couleur
    //- Si bDefaut=VRAI alors le mode d'affichage est conservé pour l'affichage par défaut 
    //EN SORTIE :
    //Si le mode d'affichage a pu être modifié la fonction renvoie Vrai, sinon Faux
    //- bRedmarrageWindow est à Vrai si la modification de résolution nécessite le redémmarrage du poste, sinon elle est à Faux 
     
    DevMode est une structure
    	dmDeviceName 		est une chaîne ASCIIZ sur 32
    	dmSpecVersion 		est un entier sur 2 octets sans signe
    	dmDriverVersion 	est un entier sur 2 octets sans signe
    	dmSize 				est un entier sur 2 octets sans signe
    	dmDriverExtra 		est un entier sur 2 octets sans signe
    	dmFields 			est un entier
    	dmPosition 			est une chaîne ASCIIZ sur 8
    	dmScale  			est un entier sur 2 octets
    	dmCopies  			est un entier sur 2 octets
    	dmDefaultSource  	est un entier sur 2 octets
    	dmPrintQuality  	est un entier sur 2 octets
    	dmColor  			est un entier sur 2 octets
    	dmDuplex  			est un entier sur 2 octets
    	dmYResolution  		est un entier sur 2 octets
    	dmTTOption  		est un entier sur 2 octets
    	dmCollate 			est un entier sur 2 octets
    	dmFormName 			est une chaîne ASCIIZ sur 32
    	dmLogPixels 		est un entier sur 2 octets sans signe
    	dmBitsPerPel 		est un entier
    	dmPelsWidth 		est un entier
    	dmPelsHeight 		est un entier
    	dmDisplayFlags 		est un entier
    	dmDisplayFrequency 	est un entier
    	dmICMMethod 		est un entier
    	dmICMIntent 		est un entier
    	dmMediaType 		est un entier
    	dmDitherType		est un entier
    	dmReserved1 		est un entier
    	dmReserved2 		est un entier
    	dmPanningWidth 		est un entier
    	dmPanningHeight 	est un entier
    FIN
     
    DeviceMode 				est un DevMode
    iModeNum 				est un entier = 0
    iModeNumSel 			est un entier = 0
    Resultat 				est un entier
    sListeModeEcran 		est une chaîne
    ePosRésolutionChoisie 	est un entier
     
    sListeModeEcran = ListeConfigurationEcran()
     
    //des mode ecran de dispo ?
    SI sListeModeEcran="" ALORS
    	RENVOYER Faux
    FIN
     
    // On récupère le numéro du mode d'affichage selectionné par le client
    ePosRésolutionChoisie=Position(sListeModeEcran,eParamLargeur+TAB+eParamHauteur+TAB+eParamNbCouleur)
    //résolution non retrouvée
    SI ePosRésolutionChoisie<1 ALORS
    	RENVOYER Faux
    FIN
     
    //Récupération de l'identifiant du mode de résolution
    iModeNumSel=Val(ExtraitChaîne(ExtraitChaîne(sListeModeEcran[[ePosRésolutionChoisie A]],1,RC),4,TAB))
    iModeNum=iModeNumSel
    Resultat=AppelDLL32("USER32.DLL","EnumDisplaySettingsA",Null,iModeNum,&DeviceMode)
     
    // On teste le mode d'affichage
    SI bDefaut ALORS
    	//Affichage par défaut
    	iModeNum=0x00000001
    SINON
    	//Affichage temporaire
    	iModeNum=0
    FIN
     
    Resultat=AppelDLL32("USER32.DLL","ChangeDisplaySettingsA",&DeviceMode,iModeNum)
     
    // Suivant le resultat de la fonction
    SELON Resultat
    	CAS 0  //Modif Ok est prise en compte directement
    		bRedmarrageWindow=Faux
     
    	CAS 1 //Modif uniquement après redémarrage
    		bRedmarrageWindow=Vrai
     
    	AUTRES CAS
    		//Impossible d'utiliser la configuration spécifié.
    		RENVOYER Faux
    FIN
     
    RENVOYER Vrai
    Procédure servant à la première procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    PROCEDURE ListeConfigurationEcran()
    //Renvoie une chaine de caractères avec la listes des configurations écran possible sur le poste 
    //Format de la chaîne retournée : <Nb pixels largeur>+tab+<Nb pixels hauteur>+tab+<Nb bits de couleur>+<IdMode>+RC+...
    //<Nb pixels largeur>+tab+<Nb pixels hauteur>+tab+<Nb bits de couleur>+<IdMode>+RC+...  
     
    	DevMode est une structure
    		dmDeviceName 			est une chaîne ASCIIZ sur 32
    		dmSpecVersion 			est un entier sur 2 octets sans signe
    		dmDriverVersion 		est un entier sur 2 octets sans signe
    		dmSize 					est un entier sur 2 octets sans signe
    		dmDriverExtra 			est un entier sur 2 octets sans signe
    		dmFields 				est un entier
    		dmPosition 				est une chaîne ASCIIZ sur 8
    		dmScale  				est un entier sur 2 octets
    		dmCopies  				est un entier sur 2 octets
    		dmDefaultSource 	 	est un entier sur 2 octets
    		dmPrintQuality  		est un entier sur 2 octets
    		dmColor  				est un entier sur 2 octets
    		dmDuplex  				est un entier sur 2 octets
    		dmYResolution  			est un entier sur 2 octets
    		dmTTOption  			est un entier sur 2 octets
    		dmCollate 				est un entier sur 2 octets
    		dmFormName 				est une chaîne ASCIIZ sur 32
    		dmLogPixels 			est un entier sur 2 octets sans signe
    		dmBitsPerPel 			est un entier
    		dmPelsWidth 			est un entier
    		dmPelsHeight 			est un entier
    		dmDisplayFlags 			est un entier
    		dmDisplayFrequency 		est un entier
    		dmICMMethod 			est un entier
    		dmICMIntent 			est un entier
    		dmMediaType 			est un entier
    		dmDitherType 			est un entier
    		dmReserved1 			est un entier
    		dmReserved2 			est un entier
    		dmPanningWidth 			est un entier
    		dmPanningHeight 		est un entier
    	FIN
     
    	DeviceMode 					est un DevMode
    	iModeNum 					est un entier
    	Resultat 					est un entier
    	sListeResolutions 			est une chaîne
     
    	// Récupère les caractéristiques d'affichage du poste
    	Resultat=AppelDLL32("USER32.DLL","EnumDisplaySettingsA",Null,iModeNum,&DeviceMode)
     
    	iModeNum=0
    	// On liste toutes les possibilités
    	TANTQUE Resultat<>0
    		//Déja dans les résolutions detectées ?
    		SI Position(sListeResolutions,DeviceMode:dmPelsWidth+TAB+DeviceMode:dmPelsHeight+TAB+DeviceMode:dmBitsPerPel)<1	ALORS //ajout au résultat
    		sListeResolutions+=RC+DeviceMode:dmPelsWidth+TAB+DeviceMode:dmPelsHeight+TAB+DeviceMode:dmBitsPerPel+TAB+iModeNum
    	FIN 
    	iModeNum++ // Passe au mode suivant
     
    	// Récupère la possibilité suivante
    	Resultat=AppelDLL32("USER32.DLL","EnumDisplaySettingsA",Null,iModeNum,&DeviceMode)
    FIN
     
    //un résultat ?
    SI sListeResolutions<>"" ALORS
    	//on supprime le RC en trop au début
    	sListeResolutions=sListeResolutions[[3 A]]
    FIN
     
    RENVOYER sListeResolutions
    Puis dans un code clique bouton par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ModifieConfigurationEcran(800,600,32)

    Voilà, je ne sais pas si cela va intéresser beaucoup de personnes mais je pense que c'est toujours utile ^^

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut
    Merci d'avoir donné la solution à ton problème, cela aidera toujours quelqu'un... moi par exemple ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script pour changer la résolution de l'écran
    Par PoichOU dans le forum Windows
    Réponses: 1
    Dernier message: 30/12/2010, 18h14
  2. [UBUNTU] Comment changer la résolution de mon écran ?
    Par makohsarah dans le forum Ubuntu
    Réponses: 9
    Dernier message: 08/08/2006, 21h19
  3. Changer le résolution d'écran
    Par faico dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 19/06/2006, 00h52
  4. Changer la résolution d'écran par batch
    Par peel_retrogames dans le forum Windows
    Réponses: 2
    Dernier message: 29/05/2006, 21h40
  5. Changer la résolution de l'écran
    Par Azharis dans le forum Windows
    Réponses: 2
    Dernier message: 14/10/2005, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo