Hm, ich habe mich jetzt eine Weile über die empfohlene Funktion SetSystemVisualStyle eingelesen. In allen Beispielen wurde diese aber verwendet, um eine .msstyles Datei zu aktivieren, nicht eine .theme Datei. Diese .msstyles-Dateien wurden aber soweit ich weiß nur XP verwendet. Zumindest finde ich in meinem Win7 keine .msstyles-Dateien (doch genauer gesagt exakt eine "aero.msstyles", aber da sehe ich erstmal keinen Bezug zu den vielen vorhandenen .theme Dateien.)
Habe jetzt trotzdem mal versucht, was die Funktion unter Win7 mit einer .theme Datei bewirkt:
Delphi-Quellcode:
function SetSystemVisualStyle(pszFilename, pszColor, pszSize: PChar;
dwReserved: Integer): Integer; stdcall; external 'uxtheme.dll' index 65;
res := SetSystemVisualStyle('C:\Windows\Resources\Themes\nature.theme', 'NormalColor', 'NormalSize', 1);
Als Rückgabewert erhalte ich -1878589247, was mir leider nichts sagt. Bewirken tut die Funktion augenscheinlich auch nichts.