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
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
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.
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
Partager