z0nez
Messages postés10Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention 8 juillet 2005
-
29 juil. 2004 à 03:17
z0nez
Messages postés10Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention 8 juillet 2005
-
4 août 2004 à 15:30
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.
z0nez
Messages postés10Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention 8 juillet 2005 4 août 2004 à 15:28
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
z0nez
Messages postés10Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention 8 juillet 2005 29 juil. 2004 à 03:30
... 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.