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:
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:
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:
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.