![]() |
XP: Klassisches Design
Hi,
unter XP kann man ja einstellen, dass man das Aussehen so haben will, wie bei allen Vorgaenger-Versionen. (Systemsteuerung->Anzeige->Designs->Windows -klassisch) Kann ich in Delphi rauskriegen, ob diese Anzeige auf dem Rechner gerade aktiviert ist? Danke Mat |
In der "uxtheme.dll" gibt es eine Funktion:
Delphi-Quellcode:
die man importieren kann. Ich empfehle dabei den dynamischen Weg, damit das Programm unter 9x/ME/NT/2000 nicht mit einer Fehlermeldung beendet wird. Es sei denn natürlich, das Programm soll nur unter XP laufen.
type
TIsThemeActive = function: bool; stdcall; var IsThemeActive : TIsThemeActive; Da die Funktion true bzw. false zurückliefert, sollte es keine Fragen mehr geben. :) |
Is ja irgendwo logisch, dass es nur unter XP laufen soll. Für was soll er denn sonst wissen wollen, welches Design aktiviert is? :wink:
Aber mit dem Dynamischen Laden stimme ich dir zu. wer weiß, was passiert... |
danke, das probier ich mal aus..
uebrigens, das programm soll nicht nur unter XP laufen.. :) Mat |
supi, hat funktioniert.
Delphi-Quellcode:
fuehrt auch auf allen anderen Systemen nicht zu nem Fehler
procedure TForm1.Button1Click(Sender: TObject);
type TIsThemeActive = function: bool; stdcall; var Handle :THandle; IsThemeActive : TIsThemeActive; result :string; begin result := 'kein XP'; Handle := LoadLibrary('uxtheme.dll'); if Handle <> 0 then begin IsThemeActive := GetProcAddress(Handle, 'IsThemeActive'); if IsThemeActive then result := 'neuer Stil' else result := 'alter Stil'; FreeLibrary(Handle); end; ShowMessage(result); end; danke Mat |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 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