Connaitre le handle du 2e form dans le zorder [Résolu]

Signaler
Messages postés
10
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
8 juillet 2005
-
Messages postés
10
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
8 juillet 2005
-
Bonjour,

je ne sais pas si c'est moi qui est coincé mais je ne parviens pas à trouver le handle du 2e form dans le zorder soit la fenêtre qui juste derrière la fenêtre active.

Je veux faire un barre d'outil (autonome) Topmost qui doit savoir quelle est la fenêtre qui avait le focus avant que l'usager clique sur la barre d'outil.

J'ai testé avec getwindow avec GW_HWNDPREV en passant le handle de la barre d'outil comme hwnd de départ mais le handle retourné n'est pas celui de la fenêtre que je cherche.

Des idées, des suggestions?

Merci

3 réponses

Messages postés
10
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
8 juillet 2005

Voici ce que j'ai finalement trouvé... c'est pas joli mais ça fait le travail.

Declare Function GetForegroundWindow Lib "user32" () As Long
Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long

Public Sub Deuxieme_Handle()

Dim wHwnd As Long
Const GW_HWNDNEXT = 2

wHwnd = GetForegroundWindow

    Do
        Name = String(100, Chr$(0))
        Class = String(100, Chr$(0))
        wHwnd = GetWindow(wHwnd, GW_HWNDNEXT) 
        If IsWindowVisible(wHwnd) Then
            Debug.Print wHwnd 
        End If
    Loop While IsWindowVisible(wHwnd) = vbFalse

End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
10
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
8 juillet 2005

... juste compléter quelque peu afin que ça soit plus clair....

La barre d'outil est le prog que je crée et le 2e form que je cherche c'est l'application (ex. Excel, word, IE, etc.) qui avait le focus quand l'usager a cliqué sur la barre d'outil.

J'espère être plus clair :shy)
Messages postés
10
Date d'inscription
jeudi 12 octobre 2000
Statut
Membre
Dernière intervention
8 juillet 2005

désolé, ces deux lignes n'ont rien à faire là!

Name = String(100, Chr$(0))
Class = String(100, Chr$(0))