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

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;

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

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...