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

VB 6 et antérieur Discussion :

Changer d'écran d'affichage windows avec VB6


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 39
    Par défaut Changer d'écran d'affichage windows avec VB6
    Bonsoir à tous!

    Bon voilà mon problème :

    Je cherche à créer une application qui me permettrait de basculer rapidement mon affichage entre mon écran d'ordinateur classique et mon vidéoprojecteur.

    J'ai trouvé sur la FAQ une aide pour changer la résolution de l'écran...mais mon problème est un petit peu plus compliqué. Il faudrait aller dans Affichage -> Paramètres -> Avancé (là on passe sur les options d'affichage de ma carte graphique NVidia) et c'est là qu'il faudrait encore naviguer dans les paramètres de la CG pour aller basculer l'affichage... Je sais pas si c'est possible de faire ca avec VB6...

    Merci

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 540
    Par défaut
    Obligatoire de passer par des API comme
    ChangeDisplaySettingsEx
    The ChangeDisplaySettingsEx function changes the settings of the specified display device to the specified graphics mode.
    Il faut utiliser EnumDisplayDevices également.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 39
    Par défaut
    merci pour la réponse rapide...je vais regarder ça alors

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    La reponse de Mat.M et la plus élégante.
    Si tu parviens a utiliser les APIs, c'est nettemenet mieux.
    Sinon, par un schell et une suite de SendKeys, plus aléatoire, mais des fois sa depanne.
    Sur un Form, 1 ListBox, Sorted = False, pour toi double-Clik sur "Propriétés de l'affichage"
    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
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    Option Explicit
    Dim NameProg() As String
    Dim MeShell As Integer
     
    Private Sub Form_Load()
    Me.Height = 2925: Me.Width = 4485
    '**************** List1.Sorted = False *******************
    List1.Height = 2400: List1.Width = 4245
    List1.Left = 60: List1.Top = 60
    List1.Clear
    List1.AddItem "Options d'accessibilité"
    List1.AddItem "Ajouter ou supprimer des programmes"
    List1.AddItem "Propriétés de l'affichage"
    List1.AddItem "Pare-feu Windows"
    List1.AddItem "Assistant ajout de matériel"
    List1.AddItem "Propriétés de Internet"
    List1.AddItem "Options régionales et linguistiques"
    List1.AddItem "Contrôleurs de jeu"
    List1.AddItem "Proriétés de souris"
    List1.AddItem "Propriétés de sons et périphériques audio"
    List1.AddItem "Connexions réseau"
    List1.AddItem "Assistant Configuration réseau"
    List1.AddItem "Comptes d'utilisateurs"
    List1.AddItem "Administrateur de sources de données ODBC"
    List1.AddItem "Propriétés d 'options d'alimentation"
    List1.AddItem "Réglages QuickTime"
    List1.AddItem "Propriétés de la reconnaissance vocale"
    List1.AddItem "Application de panneau de configuration SoundMax"
    List1.AddItem "Propriétés systéme"
    List1.AddItem "Options de modems et téléphonie"
    List1.AddItem "Propriétés de Date et Heure"
    List1.AddItem "Centre de sécurité Windows"
    List1.AddItem "Mise à jour automatiques"
     
    ' recuperer sur DVP
    ReDim NameProg(22)
    NameProg(0) = "access.cpl"
    NameProg(1) = "appwiz.cpl"
    NameProg(2) = "desk.cpl"
    NameProg(3) = "firewall.cpl"
    NameProg(4) = "hdwwiz.cpl"
    NameProg(5) = "inetcpl.cpl"
    NameProg(6) = "intl.cpl"
    NameProg(7) = "joy.cpl"
    NameProg(8) = "main.cpl"
    NameProg(9) = "mmsys.cpl"
    NameProg(10) = "ncpa.cpl"
    NameProg(11) = "netsetup.cpl"
    NameProg(12) = "nusrmgr.cpl"
    NameProg(13) = "odbccp32.cpl"
    NameProg(14) = "powercfg.cpl"
    NameProg(15) = "QuickTime.cpl"
    NameProg(16) = "sapi.cpl"
    NameProg(17) = "SMax3CP.cpl"
    NameProg(18) = "sysdm.cpl"
    NameProg(19) = "telephon.cpl"
    NameProg(20) = "timedate.cpl"
    NameProg(21) = "wscui.cpl"
    NameProg(22) = "wuaucpl.cpl"
     
    End Sub
    Private Sub List1_DblClick()
    Dim NomEl As String
    NomEl = NameProg(List1.ListIndex)
    MeShell = Shell("rundll32.exe shell32.dll,Control_RunDLL " & NomEl)
    If NomEl = "desk.cpl" Then
     TraiteR
     Unload Me
    End If
    End Sub
     
    Public Sub TraiteR()
    AppActivate MeShell 'donne le focus à la fenêtre "Propriété de l'affichage"
    DoEvents
    SendKeys "{TAB 4}" 'placement sur le 1° onglet "Thémes"
    DoEvents
    SendKeys "{RIGHT 4}" 'placement sur le 5° onglet "Paramétres"
    DoEvents
    SendKeys "{TAB  7}" 'placement sur le bouton "Avancé"
    DoEvents
    SendKeys "{ENTER}" ' valide le bouton "Avancé"
    DoEvents
    '***** la suite peut être tres differante suivant la carte graphique ****************
     
    'ici j'ai atteind la fenêtre "Propriétés de (moniteurs multiples) et ATI MOBILITY RADEON 9100 IGP"
    'SendKeys "{TAB 5}" 'placement sur le 1° onglet "Général"
    'DoEvents
    'SendKeys "{RIGHT 5}" 'placement sur le 6° onglet "Affichage"
    'DoEvents
    'SendKeys "{RIGHT 1}" 'placement sur la sortie "TV"
    'DoEvents
    'SendKeys "{TAB 1}" 'placement sur le bouton "Ok"
    'DoEvents
    'SendKeys "{RIGHT 2}" 'placement sur le bouton "Appliquer"
    'DoEvents
    'SendKeys "{ENTER}" ' valide le bouton "Appliquer"
    'DoEvents
    'SendKeys "{TAB 3}" 'placement sur le bouton "Ok"
    'DoEvents
    'SendKeys "{ENTER}" ' valide le bouton "Ok"
    'DoEvents
    ' de retour à la fenêtre "Propriété de l'affichage"
    'SendKeys "{TAB 7}" 'placement sur le bouton "Ok"
    'DoEvents
    'SendKeys "{ENTER}" ' valide le bouton "Ok"
    'DoEvents
    ' ****************** ICI JE SUIS SUR MON ECRAN TV ********************
    End Sub
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 39
    Par défaut
    bon alors j'ai fait quelques essais...mais je n'arrive à exécuter aucune programme...mes connaissances en VB sont assez limitées...j'ai pas mal de messages d'erreur, je comprends à peu près ce que tu fais avec ton programme ProgElecT mais il ne reconnait pas les commandes...je pense que je ne met pas ce qu'il faut là où il faut pour que mon programme fonctionne...

    En outre, je n'ai pas compris ce que c'était que ta variable Me qui intervient ici : Il ne reconnait pas les commandes DoEvents, SendKeys, etc...
    Il y a un module complémentaire à cocher dans les options de VB?

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    oulà, tu t'attaques à gros poisson vu tes connaissances

Discussions similaires

  1. récupération du password windows avec VB6
    Par dev-man dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/01/2008, 15h55
  2. Themes windows avec VB6
    Par Indepakassoil dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/01/2008, 15h04
  3. Réponses: 6
    Dernier message: 25/06/2007, 20h23
  4. Affichage de windows avec propriété StayonTop
    Par Graffito dans le forum Linux
    Réponses: 2
    Dernier message: 27/01/2006, 09h17
  5. [VB6] Gestionnaire des tache de windows 2000 avec VB6
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/11/2002, 08h21

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