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

Interfaces Graphiques Perl Discussion :

Trouver la fenêtre qui a le focus avec la librairire Perl X11 GUI Test


Sujet :

Interfaces Graphiques Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Trouver la fenêtre qui a le focus avec la librairire Perl X11 GUI Test
    Bonjour,

    Je cherche à récupérer le nom de la fenêtre qui a actuellement le focus.
    En Perl, avec la librairie X11 GUI Test, la fonction GetInputFocus permet de récupérer l'ID de la fenêtre qui a actuellement le focus. La fonction GetWindowName permet d'avoir le nom de la fenêtre à partir de son ID.
    Le problème est qu'en combinant ces deux fonctions, j'obtiens l'identifiant mais je ne parviens pas à obtenir le nom associé à cet identifiant. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $WinID = GetInputFocus();
    print "Focussed window id : " . $WinID . "\n";
    print "Focussed window name : " . GetWindowName($WinID) . "\n";
    De plus, lorsque j'essaye de lister toutes les fenêtres, je ne retrouve pas l'ID de la fenêtre qui a le focus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @wins = FindWindowLike('.*') or die("Didn't find any windows!");
    print "FindWindowLike found " . @wins . " window(s).\n";
    foreach my $win (@wins) {
    	my $name = GetWindowName($win) || '[NO NAME]';
    	print "\t" . $win. " ($name)";
    }
    J'ai essayé de faire la même chose en C mais j'ai le même problème avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Display *focusDisplay;
    focusDisplay = XOpenDisplay(NULL);
    int retcode = 0;
    int param = 0;
    retcode = XGetInputFocus(focusDisplay, &focusWindow, &param);
    printf(stderr,"Focus Window = %u\n",focusWindow);
    char* windName;
    Status s = XGetWMName(focusDisplay, focusWindow, windName);
    fprintf(stderr,"Name= %s - status : %d\n",windName, s);

    Merci d'avance pour votre aide.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    D'après le documentation du CPAN
    GetWindowName WINDOWID

    Returns the window name for the specified window Id. undef is returned if name could not be obtained.

    # Return the name of the window that has the input focus.
    my $WinName = GetWindowName(GetInputFocus());
    Donc, il n'arrive pas à obtenir le nom. D'ailleurs, en avais tu défini un au moment de la création de la fenêtre ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjour et merci pour votre réponse.
    En fait, même quand j'écris le code (le sleep me permet de me déplacer vers une autre fenêtre pour lui donner le focus), je n'ai aucun résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sleep 5;
    $WinName = GetWindowName(GetInputFocus());

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    C'est quoi comme appli ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/09/2009, 11h21
  2. Trouver l'item qui a le focus dans un formulaire
    Par troumad dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/12/2007, 13h40
  3. Trouver le composant qui avait le focus
    Par pdeville dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 16/08/2006, 12h54
  4. fenètre qui s'ouvre avec un bouton formulaire
    Par nickg dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/02/2006, 22h54

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