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

Macros et VBA Excel Discussion :

Savoir si une fenêtre est Topmost [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Par défaut Savoir si une fenêtre est Topmost
    Bonjour

    je cherche a savoir si une fenêtre est topmost ou non

    je pense que c'est avec GetWindowLong(Hwnd,-20)

    Il semble qu il y ait une une difference de 8 entre topmost ou nontopmost mais je bloque....

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    La fonction GetTopWindow
    te permet de déterminer si une fenêtre est celle ayant le zorder 0 parmi d'autres fenêtres de son parent
    le bureau (desktop) est le parent de base de toute nouvelle fenêtre. Son handle = 0
    et donc
    GetTopWindow(NULL) te retourne la fenêtre de zorder 0 parmi toutes les fenêtres ouvertes.
    https://msdn.microsoft.com/fr-fr/lib...(v=vs.85).aspx

    Si en lieu et place du paramètre NULL, tu précises le handle d'une fenêtre parent, la fonction te retournera le handle de la fenêtre endant ayant le zorder 0 parmi les fenêtres de ce parent

    Une fenêtre dont on connaît le handle est, de manière générale, celle ayant le zorder 0 si le handle retourné par la fonction Gettopwindow est égal à celui de la fenêtre parent

    Je ne connais personnellement aucune autre manière plus performante.

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2014
    Messages : 53
    Par défaut
    Merci,

    Ca, ca a l'air de marcher....

    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
                TypeN = GetWindowLong(Hwnd, -20)
     
                Call SetWindowPos(Hwnd, -1, 0, 0, 0, 0, &H2 Or &H1)
     
                TypeF = GetWindowLong(Hwnd, -20)
     
                If TypeN - TypeF = 0 Then
     
                MsgBox "Est TopMost"
     
                Else
     
                    Call SetWindowPos(Hwnd, -2, 0, 0, 0, 0, &H2 Or &H1)
     
     
                End If

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

Discussions similaires

  1. Comment savoir si une fenêtre est sélectionnée
    Par whitebird001 dans le forum MFC
    Réponses: 2
    Dernier message: 07/06/2008, 22h30
  2. Savoir si une fenêtre est modale ou pas
    Par manu_b dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/06/2008, 15h32
  3. Savoir si une fenêtre est ouverte ou pas
    Par zizoux5 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2007, 18h26
  4. Savoir si une fenêtre est déjà créer
    Par matt8-5 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 09/02/2007, 14h28
  5. Comment savoir si une fenêtre est maximisée ?
    Par Silverstone dans le forum Windows
    Réponses: 4
    Dernier message: 20/09/2006, 21h01

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