There are three functions which test very similar things, and sometimes applications pick the wrong one. Here's the rundown:
IsThemeActive
checks whether visual styles are enabled for the user. This is not an application-specific setting; it tells you whether visual styles are enabled in general. Note that this does not tell you whether the current application is using visual styles.IsAppThemed
checks whether visual styles are enabled for the current application. Windows may disable visual styles for a specific application (even though they are enabled in general) for compatiblity reasons.IsCompositionActive
checks whether desktop composition is enabled for the current application. As with visual styles, Windows may disable desktop composition for a specific application (even though it is enabled in general) for compatiblity reasons.
How can you tell whether a particular button is an old-school button or a fancy new button? I don't know either.