Gibt die Desktop-Fenster-Manager-Vorschaubildeigenschaften (DWM) an
#include <WinAPIGdi.au3>
_WinAPI_DwmUpdateThumbnailProperties ( $hThumbnail [, $bVisible = True [, $bClientAreaOnly = False [, $iOpacity = 255 [, $tRectDest = 0 [, $tRectSrc = 0]]]]] )
$hThumbnail | Das Handle des Vorschaubildes wessen Quellfenstergröße zurückgegeben werden soll. |
$bVisible | [optional] Gibt an, ob das Vorschaubild sichtbar oder unsichtbar sein soll. Gültige Werte sind: True - Sichtbar (Standard). False - Unsichtbar. |
$bClientAreaOnly | [optional] Gibt an, ob nur der Vorschaubildquellbereich oder ob das gesamte Fenster benutzt werden soll. Gültige Werte sind: True - Verwendet nur den Quellclientbereich. False - Verwendet das gesamte Fenster (Standard). |
$iOpacity | [optional] Die Deckkraft mit der das Vorschaubild gerendert werden soll. 0 ist komplett transparent während 255 (Standard) vollkommen überdeckt. |
$tRectDest | [optional] Die $tagRECT Struktur welche das Rechteck im Zielfenster beinhaltet in welchem das Vorschaubild gerendert werden soll. Standardmäßig ist die Größe des Rechtecks gleich der Quellgröße des DWM-Vorschaubildes welches die _WinAPI_DwmQueryThumbnailSourceSize() Funktion zurückgibt. |
$tRectSrc | [optional] Die $tagRECT Struktur welche das Rechteck beinhaltet und den Bereich des Quellfensters angibt welches als Vorschaubild verwendet werden soll. Standardmäßig wird das gesamte Fenster als Vorschaubild verwendet. |
Erfolg: | 1. |
Fehler: | 0 und setzt das @error Flag auf ungleich null, das @extended Flag kann den HRESULT-Fehlercode enthalten. |
Vorschaubildbeziehungen welche von _WinAPI_DwmRegisterThumbnail() erstelltwurden werden so lange nicht im Zielfenster gerndert bis diese Funktion aufgerufen wurde.
Anschließende Aufrufe werden das Vorschaubild gemäß den Eigenschaften aktualisieren..
Diese Funktion benötigt Windows Vista oder höher.
_WinAPI_DwmQueryThumbnailSourceSize, _WinAPI_DwmRegisterThumbnail
Suche nach DwmUpdateThumbnailProperties in der MSDN Bibliothek.
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIMisc.au3>
If Not _WinAPI_DwmIsCompositionEnabled() Then
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Error', 'Require Windows Vista or later with enabled Aero theme.')
Exit
EndIf
Run(@SystemDir & '\calc.exe')
Local $hWnd = WinWaitActive("[CLASS:ApplicationFrameWindow]", '', 3)
If Not $hWnd Then
Exit
EndIf
; Create GUI
Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 400)
GUISetBkColor(0)
; Create the "sheet of glass" effect for the entire window. You must call this function whenever DWM composition is toggled.
_WinAPI_DwmExtendFrameIntoClientArea($hForm)
; Create a DWM thumbnail relationship (2:1)
Local $hThumbnail = _WinAPI_DwmRegisterThumbnail($hForm, $hWnd)
Local $tSIZE = _WinAPI_DwmQueryThumbnailSourceSize($hThumbnail)
Local $iWidth = DllStructGetData($tSIZE, 1)
Local $iHeight = DllStructGetData($tSIZE, 2)
Local $tDestRect = _WinAPI_CreateRectEx((400 - $iWidth / 2) / 2, (400 - $iHeight / 2) / 2, $iWidth / 2, $iHeight / 2)
Local $tSrcRect = _WinAPI_CreateRectEx(-20, -20, $iWidth + 40, $iHeight + 40)
_WinAPI_DwmUpdateThumbnailProperties($hThumbnail, 1, 0, 255, $tDestRect, $tSrcRect)
GUISetState(@SW_SHOW)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
WinClose("[CLASS:ApplicationFrameWindow]", "")