Desktop Functions:

   Smart Device Functions:

Show Recent Changes
Subscribe (RSS)
Misc. Pages
Helpful Tools
Suggested Reading
Website TODO List
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
dwmiscompositionenabled (dwmapi)

C# Signature:

private static extern int DwmIsCompositionEnabled(out bool enabled);

VB.NET Signature:

<DllImport("dwmapi.dll")> _
Private Shared Function DwmIsCompositionEnabled(ByRef enabled As Boolean) As Integer
End Function

User-Defined Types:



NB Since Windows XP has been end-of-lifed, the OS version checks can be skipped. Especially if you are using .NET 4.5 and up, in which case Vista or greater is a prerequisite to run your program.

You cannot call this function directly. This is how to use it (VB.NET):

Public Function AeroEnabled() As Boolean
     If Environment.OSVersion.Version.Major < 6 Then Return False
     Dim Enabled As Boolean
     Return Enabled
End Function

Shorter version. Yes, this does work. Try it!

Public Function AeroEnabled() As Boolean
     If Environment.OSVersion.Version.Major < 6 Then Return False
End Function

Alternative Managed API:

Download the 'VistaBridge Sample Library' from once downloaded, open the project and then build it (if you want to look through all the code, examine the files in the \Library or \Interop folders). You can now take the DLL from VistaBridge\bin\debug\ and add a reference to it in your project, as well you must add a using statement for each of the different VistaBridge modules. For Example:

using Microsoft.SDK.Samples.VistaBridge.Interop or .Library or .Properties or .Services - Depending on your needs.

The VistaBridge project includes API's for many other Vista Features (such as the TaskDialog, Vista OpenFile and SaveFile Dialogs, and of course the Aero Glass Effects) to try these out, run the VistaBridge Project.

If you're using DevExpress components::


Tips & Tricks:

Please add some!

Sample Code:

Please add some!


Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

Access directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version