Savoir si une fenêtre est affichée ou cachée(mise dans la barre en bas)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 060 fois - Téléchargée 28 fois

Contenu du snippet

Dans ce code il y a une API qui sert a savoir si une fenêtre(n'importe la quelle tant que l'on connait le handle) est cachée ou affichée. Dans l'exemple il faut créer un timer et mettre le code. Pour que vous ayez le temps de la réduire ou de l'afficher (la form) mettez le timer à 2000.

Source / Exemple :


Private Declare Function IsIconic Lib "user32" ( ByVal hwnd As Long) As Long

Private Sub connaitre()
    Dim rep As Integer
    rep = IsIconic(Me.hwnd)
    If (rep <> 1) Then '  1 si la fenêtre est cachée
        MsgBox "La fenêtre n'est pas cachée", , ""
    Else'                        0 si elle est affichée
        MsgBox "Le fenêtre est cachée", , ""
    End If
End Sub

Conclusion :


ça marche sous NT qu'a partir de 3.1.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
oui, en remplacant Me.hWnd par le handle de la fenetre considerée...

disons que l'API est deja connue, a la base, et que le couple Timer + MsgBox n'est pas forcément le plus indiqué....
Messages postés
480
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
3 septembre 2007

Salut avec ce code vous pouvez savoir si n'importe quel fenetre est caché ou affichée
Messages postés
25
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
20 mars 2007

kler!, d'ailleurs y a une personne qui ta noté 1 (comme quand ta fenêtre est cachée) lol
Messages postés
48
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
14 septembre 2012

lol
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
un MsgBox dans un timer ? interessant... faut aimer cliquer ;)


en VB, on peut se contenter de :

If Me.WindowState = VbMinimized Then.......

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.