Page 1 sur 1
[R] Récupérer fenêtre active
Posté : jeu. 19 sept. 2013 20:46
par Niverton
Salut à tous, pour un utilitaire de capture d'écran, je voudrais pouvoir récupérer la fenêtre active afin de pouvoir faire une capture de la fenêtre uniquement. J'ai cherché dans la doc et sur internet, malheureusement la fonction
WinList() semble renvoyer les fenêtres dans le désordre. Une aide s'il vous plait ? Merci d'avance

Re: [..]Récupérer fenêtre active
Posté : jeu. 19 sept. 2013 20:59
par jguinch
Pour récupérer le titre de la fenêtre active, tu peux utiliser WinGetTitle () :
Re: [..]Récupérer fenêtre active
Posté : jeu. 19 sept. 2013 21:18
par mikell
En l'occurence pour mettre dans un _ScreenCapture_CaptureWnd() ça serait plutôt $hWnd = WinGetHandle("[active]")

Re: [..] Récupérer fenêtre active
Posté : ven. 20 sept. 2013 19:07
par Niverton
Super, ça marche nickel, merci beaucoup !
Y aurait-il aussi un moyen de récupérer la dernière fenêtre active ? Si je veux effectuer la capture depuis le menu du trail, il n'y a pas de fenêtre active et la fonction capture un petit rectangle au centre de l'écran
Re: [..] Récupérer fenêtre active
Posté : ven. 20 sept. 2013 23:35
par mikell
Dans ce cas l'exemple de l'aide pour WinList() devrait marcher
► Afficher le texte
Code : Tout sélectionner
Local $var = WinList()
For $i = 1 To $var[0][0]
; Only display visble windows that have a title
If $var[$i][0] <> "" And IsVisible($var[$i][1]) Then
MsgBox(0, "Details", "Title=" & $var[$i][0] & @LF & "Handle=" & $var[$i][1])
EndIf
Next
Func IsVisible($handle)
If BitAND(WinGetState($handle), 2) Then
Return 1
Else
Return 0
EndIf
EndFunc
ça te retourne les fenêtre visibles classées par z-order décroissant
Re: [..] Récupérer fenêtre active
Posté : sam. 21 sept. 2013 15:58
par Niverton
Super, le programme affiche "Démarrer" en premier, puis la dernière fenêtre active

Merci beaucoup, j'intègre ça à mon script de ce pas !