Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как получить имя текщего стиля и имя цветовой схемы?

01.01.2007
uses ComObj, SyncObjs;
 
var
 
GetCurrentThemeName: function (pszThemeFileName: LPWSTR; cchMaxNameChars: Integer;
    pszColorBuff
: LPWSTR; cchMaxColorChars: Integer; pszSizeBuff: LPWSTR;
    cchMaxSizeChars
: Integer): HRESULT; stdcall;
 
procedure TForm1
.Button1Click(Sender: TObject);
var
 
FileName, ColorScheme, SizeName: WideString;
  hThemeLib
: THandle;
begin
 
try
    hThemeLib
:= LoadLibrary('uxtheme.dll');
   
if hThemeLib > 0 then
     
GetCurrentThemeName := GetProcAddress(hThemeLib, 'GetCurrentThemeName');
   
if Assigned(GetCurrentThemeName) then
   
begin
     
SetLength(FileName, 255);
     
SetLength(ColorScheme, 255);
     
SetLength(SizeName, 255);
     
OleCheck(GetCurrentThemeName(PWideChar(FileName), 255,
       
PWideChar(ColorScheme), 255, PWideChar(SizeName), 255));
     
// show the the theme path and file name.
     
ShowMessage(PWideChar(FileName));
     
// show the color scheme name
     
ShowMessage(PWideChar(ColorScheme));
     
// show the size name
     
ShowMessage(PWideChar(SizeName));
   
end;
 
finally
   
FreeLibrary(hThemeLib);
 
end;
end;

Взято с сайта https://www.swissdelphicenter.ch/en/tipsindex.php