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

Python Discussion :

Récupérer coordonées d'une application


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut Récupérer coordonées d'une application
    Bjr,
    Tout est dans le titre !
    Comment récupérer, par exemple pour vlc, son emplacement sur le bureau et sa taille ?
    J'ai beau cherché, je trouve rien... !

    merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Sur quelle système?
    ça très différent selon que tu sois sur linux ou windows.

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut
    Citation Envoyé par nyko77 Voir le message
    Sur quelle système?
    ça très différent selon que tu sois sur linux ou windows.
    Les 2 mon général ...! ( si vous avez le temps, c'est juste de la curiosité pour win )

    Sinon pour linux, je suis tjrs sur cet OS (gnome), donc ....

    Merci !

  4. #4
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    Sous Linux, tu peux utiliser wnck :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import wnck
    fenetres = wnck.screen_get_default().get_windows()
     
    for f in fenetres:
        print f.get_application().get_name()  # tester si VLC
        print f.get_geometry()
    (de mémoire, j'ai pas testé...)

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Pour windows tu peux utiliser win32gui: http://docs.activestate.com/activepy...2/modules.html

    Tu dois pouvoir t'en sortir avec EnumWindows et GetWindowsRect .
    Je suis également sur linux, je peux donc pas testé, mais je l'ai déjà fait dans le passé.

  6. #6
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut
    Citation Envoyé par nyko77 Voir le message
    Pour windows tu peux utiliser win32gui: http://docs.activestate.com/activepy...2/modules.html

    Tu dois pouvoir t'en sortir avec EnumWindows et GetWindowsRect .
    Je suis également sur linux, je peux donc pas testé, mais je l'ai déjà fait dans le passé.
    Merci, je note

  7. #7
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut
    Je comprends pas tout ...
    Sur un exemple, j'ai vu qu'il fallait ajouter une boucle, dans d'autres, ils s'en passent ...?
    Dans l'exemple qui suit ca fonctionne, mais pourquoi cette boucle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import wnck
     
    def main():
        screen = wnck.screen_get_default()
        while gtk.events_pending():
            gtk.main_iteration()
        for window in screen.get_windows():
        	print window.get_application().get_name()
        	print window.get_name()
        	print window.get_geometry()
    main()
    J'ai regardé dans le help(wnck) .... Pour de l'indigeste, ca se pose là
    J'ai qd même réussi à déchiffrer qqles trucs, mais bon ...
    Personne n'aurait un bon lien, en français avec des exemples ?

    J'ai vu qu'on pouvait se brancher sur des événements, j'ai pas trop réussi à mettre en oeuvre ! Par exemple, tjrs avec vlc, avoir des événements sur son déplacement et son redimensionnement, ca doit être faisable ?
    Personne n'a le courage de mettre un petit exemple ? Je sais j'abuse

    Merci !

  8. #8
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut
    A y est, j'ai réussi (non sans mal ...c'est pourtant simple qd on sait !)
    Ca servira bien à qql'un un jour !
    Un tuple (x,y,height,width) en sortie à chaque mouvement de le fenêtre vlc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import wnck
     
    def retour(window):
    	print window.get_geometry()
     
    while gtk.events_pending():
    	gtk.main_iteration()
    for window in screen.get_windows():
    	if 'VLC' in window.get_application().get_name(): vlc=window
     
    vlc.connect('geometry_changed',retour)
    gtk.main()
    Merci de m'avoir diriger vers la solution .

  9. #9
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 46
    Par défaut
    Citation Envoyé par monnomamoi Voir le message
    Salut,

    Sous Linux, tu peux utiliser wnck :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import wnck
    fenetres = wnck.screen_get_default().get_windows()
     
    for f in fenetres:
        print f.get_application().get_name()  # tester si VLC
        print f.get_geometry()
    (de mémoire, j'ai pas testé...)
    C'est bien de coté là que j'avais regardé (wnck) sans tout piger, mais la liste 'fenetres' reste désespérément vide avec ton exemple ...!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer la version d'une application
    Par selmak7 dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/06/2006, 13h23
  2. Récupérer tous les handles d'une application choisie
    Par dacid dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 21/04/2006, 16h24
  3. [C#] - Récupérer les paramètres passés à une application
    Par linuxludo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/11/2005, 14h41
  4. Réponses: 2
    Dernier message: 04/10/2005, 11h12

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