Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SystemInfos auslesen (https://www.delphipraxis.net/61694-systeminfos-auslesen.html)

Barret 25. Jan 2006 06:23


SystemInfos auslesen
 
Hey!
Ich möchte gern aus dem System lesen ob der XP-Styl (so fern er exestiert) anktiv ist oder ob er ausgestellt ist.
Leider hab ich von dem direktem zugriff auf Windows nur begrenzt Ahnung und im Forum hab ich bis jetzt noch nichts dergleichen gelesen.

Also brauch ich ne Abfrage ob XP-Sytl da und wenn ja dan is er aktiv oder nicht!

mfg

toms 25. Jan 2006 08:17

Re: SystemInfos auslesen
 
Hallo!

Ich hab's mal so gemacht:

Delphi-Quellcode:
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;

// Beispielaufruf:

procedure TForm1.Button1Click(Sender: TObject);
begin
 if _IsThemeActive then
   ShowMessage('Windows Themes are active.');
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz