Recuperer RESOLUTIONS ECRAN

ser987412 Messages postés 3 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 12 août 2015 - 9 févr. 2014 à 23:29
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 11 févr. 2014 à 11:07
Bonjour,
BONJOUR PR TOUT LE MONDE
J AI REALISER UNE APPLICATION EN VB.NET ET POUR QU ELLE SOIT ADAPTEE AU DIFFÉRENT ECRAN .JE VEUX RECUPERER LA LISTE DES RESOLUTION DE L ORDINATEUR POUR LA MODIFIER EST CE QUE POSSIBLE ET MERCI D AVANCE

--

4 réponses

NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
10 févr. 2014 à 12:45
Bonjour,

Pourquoi HURLER ?
Ensuite, on ne change pas la résolution de l'écran de l'utilisateur, même si cela est possible.
En général, l'utilisateur règle son écran en fonction de ses critères, donc, aucun programme n'a de raison de changer cela.

Il te faudra adapter ton programme à la résolution de l'écran et pas l'inverse.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 220
Modifié par ucfoutu le 10/02/2014 à 12:56
Bonjour,
Si tu n'as pas de réponse, c'est "peut-être" que ta question est imprécise.
Exemple : "LA LISTE DES RESOLUTION DE L ORDINATEUR" ===>>
- un ordinateur n'a pas de "résolutions"
- un écran :
----- a une résolution (que l'on peut déterminer, elle)
----- est construit pour en "accepter" plusieurs (dont la liste est alors fastidieuse à déterminer)

Je te conseille donc de reformuler ta question de manière à ce qu'aucun doute ne subsiste quant à ce que tu veux faire.

PS : cette partie :
"...POUR LA MODIFIER..."
m'inquiète !
Tu ne comptes tout de même pas, j'espère, modifier la configuration d'une machine pour qu'elle puisse "satisfaire" ton appli ? ===>> je fusillerais sans la moindre hésitation le créateur de toute appli qui toucherait à ma config. y compris si celle appli est supposée restituer la config originelle, car :
1) quid en cas d'interruption brutale (quelle qu'en puisse être la cause, y compris matérielle ...) ?
2) quid de l'affichage d'autres fenêtres éventuellement ouvertes ?
Ce serait là une plaisanterie inacceptable

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
jordane45 Messages postés 37274 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 mars 2023 341
10 févr. 2014 à 15:56
Bonjour,


pour lister les résolutions il existe : EnumDisplaySettings.

exemple:


Imports System.Runtime.InteropServices


Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim DevM As DEVMODE
        Dim intX As Integer = Screen.PrimaryScreen.Bounds.Width
        Dim intY As Integer = Screen.PrimaryScreen.Bounds.Height
        Dim currres As String

        DevM.dmDeviceName = New [String](New Char(32) {})
        DevM.dmFormName = New [String](New Char(32) {})
        DevM.dmSize = CShort(Marshal.SizeOf(GetType(DEVMODE)))

        Dim dMode = -1
        'While 0 <> 
        Do While EnumDisplaySettings(Nothing, dMode, DevM) = True
            'Dim lResult As Integer
            If DevM.dmPelsWidth > 640 Then


                If DevM.dmPelsHeight = intX And DevM.dmPelsWidth = intY Then
                    currres = "Monitor Resolution"
                Else
                    currres = ""
                End If

                Debug.Print(CStr(DevM.dmPelsWidth) & " X " & CStr(DevM.dmPelsHeight) & CStr(currres))
            End If
            dMode += 1
            'End While
        Loop
    End Sub




    Private Property X As DEVMODE

    Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Integer, ByVal iModeNum As Integer, ByRef lpdmode As DEVMODE) As Boolean
    'Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef DEVMODE As DEVMODE, ByVal flags As Integer) As Integer

    Const ENUM_CURRENT_SETTINGS As Integer = -1
    Const CDS_UPDATEREGISTRY As Integer = &H1
    Const CDS_TEST As Long = &H2

    Const CCDEVICENAME As Integer = 32
    Const CCFORMNAME As Integer = 32

    Const DISP_CHANGE_SUCCESSFUL As Integer = 0
    Const DISP_CHANGE_RESTART As Integer = 1
    Const DISP_CHANGE_FAILED As Integer = -1

    'Public Const dm_BITSPERPEL As Integer = &H40000
    'Public Const dm_PELSWIDTH As Integer = &H80000
    'Public Const dm_PELSHEIGHT As Integer = &H100000
    'Public Const dm_DISPLAYFLAGS As Integer = &H200000

    <StructLayout(LayoutKind.Sequential)> Public Structure DEVMODE
        <MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst:=CCDEVICENAME)> Public dmDeviceName As String
        Public dmSpecVersion As Short
        Public dmDriverVersion As Short
        Public dmSize As Short
        Public dmDriverExtra As Short
        Public dmFields As Integer

        Public dmOrientation As Short
        Public dmPaperSize As Short
        Public dmPaperLength As Short
        Public dmPaperWidth As Short

        Public dmScale As Short
        Public dmCopies As Short
        Public dmDefaultSource As Short
        Public dmPrintQuality As Short
        Public dmColor As Short
        Public dmDuplex As Short
        Public dmYResolution As Short
        Public dmTTOption As Short
        Public dmCollate As Short
        <MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst:=CCFORMNAME)> Public dmFormName As String
        Public dmUnusedPadding As Short
        Public dmBitsPerPel As Short
        Public dmPelsWidth As Integer
        Public dmPelsHeight As Integer

        Public dmDisplayFlags As Integer
        Public dmDisplayFrequency As Integer
    End Structure





End Class


0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 220
10 févr. 2014 à 16:17
Bonjour, jordane45,
EnumDisplaySettings retourne les caractéristiques EN COURS d'affichage d'UN écran.
Et donc; parmi elles, LA résolution ACTUELLE d'UN écran.
Je ne sais toujours pas ce que ser987412 entend par leS résolutionS (le pluriel utilisé permet tous les doutes, raison de ma demande de clarification).
0
jordane45 Messages postés 37274 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 mars 2023 341
10 févr. 2014 à 16:37
Aucun doute possible en ce qui me concerne..
Quand je lis :
RECUPERER LA LISTE DES RESOLUTION DE L ORDINATEUR
il parle très certainement de la liste des résolutions..

Sinon je pense qu'il aurait tout simplement demandé LA résolution.
ce qui en VB.net peut se traduire par :
 Dim screenWidth As Integer = Screen.PrimaryScreen.Bounds.Width
 Dim screenHeight As Integer = Screen.PrimaryScreen.Bounds.Height
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 220
10 févr. 2014 à 17:28
Pas pour moi/.
Pour moi, une résolution d'écran s'exprime sous la forme x*y
x et y ne sont pas des "résolutions", mais des dimensions en pixels (horizontale et- verticale)
une résolution se définit par ces deux dimensions

je regrette à ce propos l'erreur faite dans cet article de CCM
http://www.commentcamarche.net/contents/744-le-moniteur-ou-ecran-d-ordinateur
où l'on a attribué à tord le nom de résolution au lieu de dimension. On y lit "résolution horizontale" et "résolution verticale", ce qui est une erreur de rédaction.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 220
Modifié par ucfoutu le 10/02/2014 à 17:44
On lèvera route ambiguïté en ouvrant simplement la fenêtre de configuration de sa machine ===>> on y verra que le mot résolution est au singulier et que LA résolution Y est définie comme je l'ai dit : x*y

PS et du coup : lorsque je vois ce mot au pluriel, je ne vois qu'une "traduction" possible : toutes les résolutions que cet écran peut accepter.
D'où ma demande de clarification.

PS2 : et je sais dans quels cas précis de figure on cherche à savoir quelles sont ces résolutions "acceptées". On veut éviter un "cramage" éventuel (ce qui peut arriver avec certains écrans).
0
jordane45 Messages postés 37274 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 mars 2023 341
10 févr. 2014 à 17:45
La résolution d'une image (ou d'un écran) correspond à son nombre de points ("pixels") par unité de mesure ( Pouce / inch..) , calculée, en effet en multipliant le nombre de points horizontaux par le nombre de points verticaux.
Cela ne me choque nullement que l'on parle, par extension, d'une définition horizontale (au lieu d'utiliser "dimension" horizontale)...

Mais bon, je ne suis pas là pour disserter sur l'utilisation exacte ou non d'expressions désormais couramment utilisées dans la langue française.
0
cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 56
10 févr. 2014 à 15:59
Bonjour

Il y a une différence entre les anciens écrans et ceux d'aujourd'hui
avec les écrans d'avant quand on modifiait la résolution la dimension du pixel était modifié.
L'image occupe toujours toute la surface de l'écran
Avec les écrans actuels quand on modifie la résolution en fait on
modifie la largeur logique et hauteur logique de l'écran la dimension
du pixel reste le meme.
Reste à savoir ce que tu veux faire si par ex ton application occupe
tout l'écran c.a.d résolution maximal
veux tu aussi que l'application occupe tout l'écran des autres pc ?
0
Rejoignez-nous