Using the FakeLunaTheme Fix
Published: June 11, 2010
Updated: June 11, 2010
Applies To: Windows 7, Windows Vista
This section includes information about using the FakeLunaTheme compatibility fix, including the issue details, the intercepted APIs, the included modules, and the recommended fix for a permanent solution.
FakeLunaTheme fixes an issue whereby an application uses visual styles that have some background and foreground colors that look incorrect when rendered with the default Aero visual style of the Windows Vista operating system. This compatibility fix also addresses an issue whereby an application may only support the Windows XP themes due to the additional color settings defined in the visual style.
For this specific fix, FakeLunaTheme intercepts the GetCurrentThemeName API and returns the luna.msstyles value for the Windows XP default theme, Luna, instead of the Windows Vista default theme, Aero.
Investigating the Issue
The FakeLunaTheme compatibility fix should be considered as a possible resolution if the user interface of your application appears more difficult to read on Windows Vista than it did on Windows XP, as this might mean that the previously defined colors no longer appear properly together. For example, if in Windows XP you selected ActiveTitleBar as the background color and InactiveTitleBar as the text color, you might find that you cannot read the text as the colors no longer provide contrast from each other.
The GetCurrentThemeName API is intercepted by the FakeLunaTheme compatibility fix.
The uxtheme.dll module is included by the FakeLunaTheme compatibility fix.
Fixing Your Code
Applications should be modified to support user-selected themes, which include pairing known contrasting colors instead of colors that provide contrast only within a particular theme.