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

VBScript Discussion :

Effectuer une condition sur le titre d'une fenetre ouverte dans un programme


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Effectuer une condition sur le titre d'une fenetre ouverte dans un programme
    Bonjour à tous,
    voila je suis tout nouveau ici, tout autant que dans la programmation. Mais bon il y à un début à tout
    J'aimerai effectuer une condition sur le titre d'une fenêtre, mais une fenêtre ouverte dans un programme.
    Pour tester une fenêtre tout court pas de problème, j'ai pris l'exemple de la calculatrice ce qui donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.Run("calc.exe")
    WScript.Sleep 200
    WshShell.AppActivate "Calculatrice"
    WScript.Sleep 200
    Dim verifTitre
    VerifTitre = WshShell.AppActivate ("Calculatrice") 
    if VerifTitre = true then 
    	wscript.echo "Calculatrice activée"
    else 
    	wscript.echo "Où est la calculatrice ?"
    end if
    Mon problème est donc que si je veux effectuer ce test dans un programme comportant plusieurs fenêtres, ou en tout cas au moins une à l'intérieur du programme, ca ne fonctionne plus.

    Quelqu'un serait il tenter d’être un dieu de la programmation a mes yeux et me sauver la vie ? Merci d'avance pour vos aides, suggestions, solutions.

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    bonjour,
    dans un programme comportant plusieurs fenêtres, ou en tout cas au moins une à l'intérieur du programme,
    ça s'appelle une fenêtre enfant
    la méthode AppActivate n'est pas conçue pour localiser et activer ce genre de fenêtre
    il faut donc recourir à un composant extérieur capable de fournir ce genre de fonction
    l'un des plus répandus : AutoItX
    il faut enregistrer le composant AutoItX3.dll (ou AutoItX3_x64.dll sur un os 64) et écrire ce genre de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
    oldvalue = oAutoIt.Opt("WinSearchChildren", 1)
    oAutoIt.WinActivate "Sans titre - Bloc-notes", ""
    l'exemple n'est pas très spectaculaire puisque le notepad n'a pas de fenêtre enfant avec un titre exploitable...
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

Discussions similaires

  1. [ireport] - utiliser une condition sur un field
    Par karibouxe dans le forum iReport
    Réponses: 11
    Dernier message: 15/02/2007, 15h48
  2. Réponses: 11
    Dernier message: 16/10/2006, 14h05
  3. [XSLT] Condition sur 1 caractere d'une valeur
    Par syvid dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 08/06/2006, 17h40
  4. [HTML & CSS] Une marge sur un titre déplace le div
    Par Yoshidu62 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 28/04/2006, 11h50
  5. [Etat] appliquer une condition sur une somme
    Par Oluha dans le forum IHM
    Réponses: 5
    Dernier message: 13/02/2006, 13h34

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