Gibt den aktuellen Wert eines gegebenen Attributes, welches auf ein Fenster angewendet ist, zurück
#include <WinAPIGdi.au3>
_WinAPI_DwmGetWindowAttribute ( $hWnd, $iAttribute )
$hWnd | Das Handle eines Fensters wessen Attributdaten zurückgegeben werden sollen. |
$iAttribute | Das zu zurückgebende Attribut. Dieser Parameter kann einen der folgenden Werte annehmen: $DWMWA_NCRENDERING_ENABLED $DWMWA_CAPTION_BUTTON_BOUNDS $DWMWA_EXTENDED_FRAME_BOUNDS |
Erfolg: | Der Wert welcher den aktuellen Wert des Attributs enthält. Der Typ des zurückgegebenen Wertes hängt von dem Wert des $iAttribute Parameters ab. |
Fehler: | 0 und setzt das @error Flag auf ungleich null, das @extended Flag kann den HRESULT-Fehlercode enthalten. |
Diese Funktion benötigt Windows Vista oder höher.
Suche nach DwmGetWindowAttribute in der MSDN Bibliothek.
#include <APIGdiConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIGdi.au3>
If Not _WinAPI_DwmIsCompositionEnabled() Then
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Fehler', 'Windows Vista oder neuer mit aktiviertem Aero Themea wird benötigt.')
Exit
EndIf
Run(@SystemDir & '\calc.exe')
Local $hWnd = WinWaitActive("[CLASS:ApplicationFrameWindow]", '');, 3)
If Not $hWnd Then
Exit
EndIf
Local $aPos = _WinAPI_GetPosFromRect(_WinAPI_DwmGetWindowAttribute($hWnd, $DWMWA_EXTENDED_FRAME_BOUNDS))
ConsoleWrite('Links: ' & $aPos[0] & @CRLF)
ConsoleWrite('Oben: ' & $aPos[1] & @CRLF)
ConsoleWrite('Breite: ' & $aPos[2] & @CRLF)
ConsoleWrite('Höge: ' & $aPos[3] & @CRLF)