Developing for the Desktop Window Manager (DWM)
Desktop Window Manager (DWM) is the new component in Windows Vista® that manages the visual layout and display of the Windows Vista Desktop and orchestrates the display of application windows. In previous versions of Windows, applications draw directly to the display device. DWM uses desktop composition to draw a surface, such as an application's window, to an off-screen buffer before it is composited with all other surfaces to render the desktop.
The DWM relies on DirectX® version 9 and the Windows Display Driver Model (WDDM), both of which require video card hardware support.
DWM is required for many of the advanced UI features of AERO™ and the AERO Glass Theme, including glass window frames, blurred and animated frames, 3D-window transition animations, Windows Flip and Windows Flip3D, automatic scaling for high resolution (DPI) displays, and other UI features of the new Windows Shell. The DWM API enables Shell developers to access the following limited categories of features:
Controlling DWM composition—to enable or disable composition, change the rendering attributes of the non-client region of a window, modify transition effects, or obtain status or event notification.
Controlling client-area blurs—AERO translucent and blurred effects, standard for non-client regions, also can be used on an application's client area.
Using Thumbnails—to enable the use of Live Thumbnails to represent open applications in Flip3D or when the mouse hovers over a Taskbar button of a minimized application.
Controlling DWM frame characteristics—to monitor and control frame composition attributes, which is important for video processing applications.
The new DWM API functions start with the characters DWM, for example, DwmEnableComposition. A comprehensive list of these new functions can be found in Resources: New Shell Functions and "Developing with the Windows Shell", in the Windows SDK. For more information about DWM, see "Desktop Window Manager" in the Windows SDK.
DWM is compatible with other Window Vista technologies, including Windows Forms in the .NET Framework, Microsoft Active Accessibility®, and Terminal Services. However, DWM composition is disabled when an application is displayed in full screen exclusive mode, or when an application uses graphics hardware acceleration (for example, games). The majority of legacy applications are compatible with DWM and its desktop composition; however, desktop composition can be disabled for individual applications. For more information about DWM compatibility, see "Enable and Control DWM Composition" in the MSDN Library.