Using the FakeLunaTheme Fix

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

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.

Intercepted APIs

The GetCurrentThemeName API is intercepted by the FakeLunaTheme compatibility fix.

Included Module

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.

See Also

Concepts

Windows Vista and Windows 7 Operating Systems