Entwickler-Ecke

Windows API - Ermitteln, ob Vista-Basis-Theme aktiv ist


finn91 - Do 24.01.08 20:52
Titel: Ermitteln, ob Vista-Basis-Theme aktiv ist
Hallo,

ich suche schon seit längerem leider erfolglos nach einer Lösung für mein Problem.

Ich schreibe ein Programm, welches den Glass-Effekt von Vista nutzt (sofern das Programm unter Vista läuft^^), sodass ich den transparenten Bereich vergrößere (ähnlich wie hier [http://en.wikipedia.org/wiki/Image:Windows_Aero.png]). Das funktioniert auch sehr gut. Allerdings möchte ich, dass wenn das Vista-Basis-Theme aktiviert ist (das Theme, welches aktiv ist, wenn Aero nicht läuft), dieser Glassbereich die Farbe der Titelleiste bekommt (so wie hier [http://en.wikipedia.org/wiki/Image:Windows_Vista_Basic.png]). Beim klassischen Design funktioniert alles so wie es soll (der Bereich bekommt einfach die Fensterhintergrundsfarbe, siehe hier [http://en.wikipedia.org/wiki/Image:Windows_Standard.png]).

Leider weis ich nicht, wie ich das bewerkstelligen kann. Man kann ja über die Vista-API-Funktion DwmIsCompositionEnabled (Erläuterung unter der Adresse http://msdn2.microsoft.com/en-us/library/aa969518(VS.85).aspx) ermitteln, ob die Aero-Oberfläche aktiv ist oder nicht. Allerdings trifft der zweite Fall sowohl für das Basis-Theme zu als auch für das klassische Design, sodass hierüber nicht das Basis-Theme ermittelt werden kann.

Ich hoffe mein Problem ist einigermaßen verständlich (falls nicht, fragt bitte ;-)).

Gruß,

Finn