Page 1 sur 1
handle des fenêtres
Publié : dim. 28/mars/2004 16:46
par Oliv
Il me semblait que ça avait été dit dans le musée mais non dnc :
Comment réupérer les handles de fenêtres ouvertes sous windows ? (je crois que ça à aussi été posé sur ce forum par Régis mais bon : quand on a le handle, comment retrouver le nom ?)
Merci
Publié : dim. 28/mars/2004 16:52
par Oliv
Régis avait trouvé pour son bi-explorer
Code : Tout sélectionner
; On liste les fenêtres ouvertes
hWnd.l = FindWindow_( 0, 0 )
While hWnd <> 0
If GetwindowLong_(Hwnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE
Debug hWnd
EndIf
hWnd = GetWindow_(hWnd, #GW_HWNDNEXT)
Wend
Mais comment récupérer les noms ?
Publié : dim. 28/mars/2004 16:53
par Chris
Si tu as au moins le nom ou la classe de la fenêtre, tu peux utiliser FindWindow_() ou FindWindowEx_()
Il doit y avoir d'autres moyens.
Chris

Publié : dim. 28/mars/2004 17:04
par Oliv
Non, je n'ai que le handle et il faudrait le nom

Publié : dim. 28/mars/2004 17:07
par Chris
Avec GetWindowText_(Handle, @Buffer, Longueurdu buffer)
Chris

Publié : dim. 28/mars/2004 17:11
par Oliv
Merci

Publié : dim. 28/mars/2004 19:04
par Le Soldat Inconnu
Code : Tout sélectionner
Procedure Window()
hWnd.l = FindWindow_( 0, 0 )
While hWnd <> 0
If GetwindowLong_(Hwnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE
; If GetwindowLong_(Hwnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW
txt.s = Space(256)
GetWindowText_(hwnd, txt, 256)
If txt <> ""
Debug txt
EndIf
; EndIf
EndIf
hWnd = GetWindow_(hWnd, #GW_HWNDNEXT)
Wend
EndProcedure
Window()
Publié : dim. 28/mars/2004 20:12
par Oliv
merci

Publié : jeu. 01/avr./2004 1:55
par KarLKoX
Le Soldat Inconnu>"If GetwindowLong_(Hwnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE"
Tu peux enlever le "egal", tu fais justement un test logique & donc c'est implicitement = si le test retourne 1
