UDF > WinAPIEx > GDI > Desktop Window Manager >


_WinAPI_DwmGetWindowAttribute

Obtient la valeur courante d'un attribut donné appliqué à une fenêtre

#include <WinAPIGdi.au3>
_WinAPI_DwmGetWindowAttribute ( $hWnd, $iAttribute )

Paramètres

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

Valeur de retour

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.

Remarque

Cette fonction nécessite Windows Vista ou version ultérieure.

Voir aussi

Consultez DwmGetWindowAttribute dans la librairie MSDN.

Exemple

#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)