From 959bcd3135f79fa04692ea70d58bdb559cf17cd3 Mon Sep 17 00:00:00 2001 From: RKrom Date: Mon, 11 Jun 2012 10:56:58 +0000 Subject: [PATCH] First Windows 8 changes, removed an obsolete call this might also improve the performance a tick... git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@1917 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4 --- GreenshotPlugin/UnmanagedHelpers/DWM.cs | 14 +++++++++++++- GreenshotPlugin/UnmanagedHelpers/Enumerations.cs | 8 ++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/GreenshotPlugin/UnmanagedHelpers/DWM.cs b/GreenshotPlugin/UnmanagedHelpers/DWM.cs index 2c2cb8aee..9a355edd1 100644 --- a/GreenshotPlugin/UnmanagedHelpers/DWM.cs +++ b/GreenshotPlugin/UnmanagedHelpers/DWM.cs @@ -102,6 +102,8 @@ namespace GreenshotPlugin.UnmanagedHelpers { public static extern int DwmQueryThumbnailSourceSize(IntPtr thumb, out SIZE size); [DllImport("dwmapi", SetLastError = true)] public static extern int DwmUpdateThumbnailProperties(IntPtr hThumb, ref DWM_THUMBNAIL_PROPERTIES props); + + // Deprecated as of Windows 8 Release Preview [DllImport("dwmapi", SetLastError = true)] public static extern int DwmIsCompositionEnabled(out bool enabled); [DllImport("dwmapi", SetLastError = true)] @@ -109,7 +111,11 @@ namespace GreenshotPlugin.UnmanagedHelpers { [DllImport("dwmapi", SetLastError = true)] public static extern int DwmEnableBlurBehindWindow(IntPtr hwnd, ref DWM_BLURBEHIND blurBehind); - // Key to ColorizationColor for DWM + // Windows 8, e.g.: + //[DllImport("dwmapi", SetLastError = true)] + //public static extern DWMAPI DwmShowContact(DWORD dwPointerID, DWM_SHOWCONTACT eShowContact); + + // Key to ColorizationColor for DWM private const string COLORIZATION_COLOR_KEY = @"SOFTWARE\Microsoft\Windows\DWM"; /// @@ -117,6 +123,12 @@ namespace GreenshotPlugin.UnmanagedHelpers { /// /// bool true if DWM is available AND active public static bool isDWMEnabled() { + // According to: http://technet.microsoft.com/en-us/subscriptions/aa969538%28v=vs.85%29.aspx + // And: http://msdn.microsoft.com/en-us/library/windows/desktop/aa969510%28v=vs.85%29.aspx + // DMW is always enabled on Windows 8! So return true and save a check! ;-) + if (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor == 2) { + return true; + } if (Environment.OSVersion.Version.Major >= 6) { bool dwmEnabled; DWM.DwmIsCompositionEnabled(out dwmEnabled); diff --git a/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs b/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs index 76d4a8afe..7d55d4a3f 100644 --- a/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs +++ b/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs @@ -631,8 +631,12 @@ namespace GreenshotPlugin.UnmanagedHelpers { DWMWA_FORCE_ICONIC_REPRESENTATION, DWMWA_FLIP3D_POLICY, DWMWA_EXTENDED_FRAME_BOUNDS, // This is the one we need for retrieving the Window size since Windows Vista - DWMWA_HAS_ICONIC_BITMAP, - DWMWA_DISALLOW_PEEK, + DWMWA_HAS_ICONIC_BITMAP, // Since Windows 7 + DWMWA_DISALLOW_PEEK, // Since Windows 7 + DWMWA_EXCLUDED_FROM_PEEK, // Since Windows 7 + DWMWA_CLOAK, // Since Windows 8 + DWMWA_CLOAKED, // Since Windows 8 + DWMWA_FREEZE_REPRESENTATION, // Since Windows 8 DWMWA_LAST }