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 :
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 $WinID = GetInputFocus(); print "Focussed window id : " . $WinID . "\n"; print "Focussed window name : " . GetWindowName($WinID) . "\n";
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 @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)"; }
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, ¶m); 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.
Partager