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

GTK+ avec C & C++ Discussion :

Obtenir la liste des fenêtres ouvertes


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut Obtenir la liste des fenêtres ouvertes
    Bonjour
    je suis complètement débutant en gtk...
    je souhaiterais pouvoir récupérer la liste de l'ensemble des fenêtres ouvertes, afin de pouvoir agir (mise en 1er plan) sur ces fenêtres
    j'ai vu qu'on pouvait utiliser gdk http://library.gnome.org/devel/gdk/index.html
    mais je trouve pas ce que je veux..
    vous auriez une autre piste ou une autre idée ?

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    D'où sortent tes fenêtres ? C'est ton application qui possède plusieurs fenêtres ou tu parle de toutes les fenêtres de ton système ?

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut
    Il s'agit de toute les fenêtres du système, j'ai beau cherché depuis tout à l'heure..

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Par défaut
    Merci de ta réponse, alors j'ai testé et ça ne semble pas fonctionner j'ai testé avec gdk_display_get_default_screen et gdk_screen_get_toplevel_windows

    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
    #include <gtk/gtk.h>
    #include <gdk/gdk.h>
    #include <stdio.h>
     
    typedef struct _WnckSelector WnckSelector;
     
    int main( int   argc,
              char *argv[] )
    {
        GtkWidget *window;
     
        GdkScreen *screen = NULL;
        GdkDisplay *display = NULL;
        GList *glist = NULL;
     
        gtk_init (&argc, &argv);
     
        //creation sans decoration
        window = gtk_window_new (GTK_WINDOW_POPUP);
     
        //position
        gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
     
        //taille
        gtk_window_set_default_size(GTK_WINDOW(window), 350, 100);
     
        display = gdk_display_get_default ();
        screen = gdk_display_get_default_screen (display);
     
         printf("a - nb element : %d!\n",g_list_length(glist));
     
        glist = gdk_screen_get_toplevel_windows (screen);
     
        printf("b - nb element : %d!\n",g_list_length(glist));
     
        glist = gdk_window_get_toplevels  ();
     
        printf("c - nb element :  %d!\n",g_list_length(glist));
     
     
        //montrage
        gtk_widget_show_all(window);
     
        gtk_main ();
     
        return 0; 
    }
    à cela, j'obtiens l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a - nb element : 0!
    b - nb element : 1!
    c - nb element :  1!
    donc en gros, une seule fenêtre dans la liste, alors que normalement il devrait y en avoir 4 ou 5

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Cartouche Voir le message
    donc en gros, une seule fenêtre dans la liste, alors que normalement il devrait y en avoir 4 ou 5
    La fonction que je t'ai donné renvoi uniquement les fenêtre "top level" en gros la fenêtre principale des applications (pas les boite de dialogue ou autre).

    Sinon tu peux récupérer la fenêtre mère avec gdk_get_default_root_window (je pense que sous gnome, il s'agit du bureau), et chaque fenêtre filles est en faites une fenêtre "top level", qui elle même peuvent avoir des enfant (boite de dialogue, écran de démarrage).

    Je ne fait que lire la doc, donc je peux raconter n'importe quoi, j'essayerai de faire un p'tit code mais ça ne sera pas avant Lundi

Discussions similaires

  1. Liste des fenêtres ouvertes !
    Par djiga4me dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 26/09/2010, 20h37
  2. liste des applications ouvertes (fenêtres)
    Par Haze. dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 12/05/2009, 15h45
  3. [C#]Obtenir la liste des fenêtres.
    Par pierre1256 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 05/06/2006, 20h29
  4. Réponses: 3
    Dernier message: 25/07/2005, 14h58
  5. Liste des fenêtres ouvertes de IE
    Par Trash dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/11/2003, 16h21

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