Obtient la valeur courante d'un attribut donné appliqué à une fenêtre
#include <WinAPIGdi.au3>
_WinAPI_DwmGetWindowAttribute ( $hWnd, $iAttribute )
$hWnd | Handle de la fenêtre pour laquelle vous souhaitez l'attribut. |
$iAttribute | L'attribut à récupérer. Ce paramètre peut prendre l'une des valeurs suivantes: $DWMWA_NCRENDERING_ENABLED - Détermine si le rendu non client est activé. TRUE si le rendu non client est activé; Sinon, FALSE $DWMWA_CAPTION_BUTTON_BOUNDS - Récupère les limites de la zone du bouton de légende dans l'espace relatif à la fenêtre. La valeur récupérée est de type $tagRECT. $DWMWA_EXTENDED_FRAME_BOUNDS - Récupère le rectangle étendu des limites du cadre dans l'espace de l'écran. La valeur récupérée est de type $tagRECT. |
Succès: | Retourne la valeur qui contient la valeur courante de l'attribut. Le type de la valeur retournée dépend de la valeur du paramètre $iAttribute. |
Échec: | Retourne 0 et définit @error <> 0, @extended contient le code d'erreur HRESULT. |
Cette fonction nécessite Windows Vista ou version ultérieure.
Consultez DwmGetWindowAttribute dans la librairie MSDN.
#include <APIGdiConstants.au3> #include <MsgBoxConstants.au3> #include <WinAPIGdi.au3> If Not _WinAPI_DwmIsCompositionEnabled() Then MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Nécessite Windows Vista ou une version ultérieure avec le thème Aero installé.') Exit EndIf Run(@SystemDir & '\calc.exe') Local $hWnd = WinWaitActive("[CLASS:CalcFrame]", '', 3) If Not $hWnd Then Exit EndIf Local $aPos = _WinAPI_GetPosFromRect(_WinAPI_DwmGetWindowAttribute($hWnd, $DWMWA_EXTENDED_FRAME_BOUNDS)) ConsoleWrite('Left: '& $aPos[0] & @CRLF) ConsoleWrite('Top: '& $aPos[1] & @CRLF) ConsoleWrite('Width: '& $aPos[2] & @CRLF) ConsoleWrite('Height: '& $aPos[3] & @CRLF)