首页  编辑  

检查WinXP视觉主题是否有效

Tags: /超级猛料/API.Windows应用程序接口/系统信息/   Date Created:

detect if the user is using XP style or classic style?

Author: Thomas Stutz  

function _IsThemeActive: Boolean;

// Returns True if the user uses XP style

const

 themelib = 'uxtheme.dll';

type

 TIsThemeActive = function: BOOL; stdcall;

var

 IsThemeActive: TIsThemeActive;

 huxtheme: HINST;

begin

 Result := False;

 // Check if XP or later Version

 if (Win32Platform  = VER_PLATFORM_WIN32_NT) and

    (((Win32MajorVersion = 5) and (Win32MinorVersion >= 1)) or

     (Win32MajorVersion > 5)) then

 begin

   huxtheme := LoadLibrary(themelib);

   if huxtheme <> 0 then

   begin

     try

       IsThemeActive := GetProcAddress(huxtheme, 'IsThemeActive');

       Result := IsThemeActive;

     finally

      if huxtheme > 0 then

         FreeLibrary(huxtheme);

     end;

   end;

 end;

end;

// Example Call:

procedure TForm1.Button1Click(Sender: TObject);

begin

if _IsThemeActive then

  ShowMessage('Windows Themes are active.');

end;