![]() |
Wie kann ich erkennen ob das OS >= Win XP ist.
Hi,
Also ich habe mir auf die schnelle eine kleine Funktion geschrieben:
Delphi-Quellcode:
damit lässt sich erkennen ob das OS Windows XP ist. Nun weis ich nicht ob und wie sich das auf höhere Versionen auswirkt.
function IsWindowsXP: Boolean;
begin Result := (Win32MajorVersion = 5) and ( Win32MinorVersion = 1); end; Ich habe mit:
Delphi-Quellcode:
einer Form einen Schatten verpasst, Win 2000 kommt damit nicht zurecht. Wie sieht das nun mit
procedure TForm1.CreateParams(var Params: TCreateParams);
const CS_DROPSHADOW = $00020000; begin inherited; Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW; end; Microsoft Windows Server 2003 aus? Kann die Schatten erzeugen und was ist mit Vista (wird es wohl können)? (siehe dazu: ![]()
Delphi-Quellcode:
:gruebel:
function IsWindowsXPAndUp: Boolean;
begin Result := (Win32MajorVersion >= 5) and ( Win32MinorVersion >= 1); end; |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Nicht grade elegant, aber wirkungsvoll:
Delphi-Quellcode:
try
MakeShadow; except end; |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Hm, schon. Das wollte ich ja aber nicht so. ;)
|
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Irrelevant. Das ist die effizienteste Möglichkeit.
|
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Nö, absolut nicht. Wenn es eine Möglichkeit gibt, das über die Versionsnummer festzustellen, ist das um einiges effizienter, als jedes Mal sinnlos zu versuchen einen Schatten zu erstellen.
|
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Deine IsWindowsXPAndUp scheint mir recht vielversprechend zu sein :) Hab leider Windows >= XP zum testen da ;)
@Borgli: Tests mal aus. Deine Lösung ist ziemlich krass... unbrauchbar. |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Moin,
ich wuerde es so machen:
Delphi-Quellcode:
;)
function IsWindowsXPAndUp: Boolean;
begin Result := ((Win32MajorVersion = 5) and (Win32MinorVersion >= 1)) or (Win32MajorVersion > 5); end; Greetz alcaeus PS: Es ist ausserdem eine Delphi-Frage, ich habs mal dorthin geschoben ;) [edit]Win43...klar :wall:[/edit] |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Zitat:
|
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Zitat:
Zitat:
@Luckie :mrgreen: // Edit: Danke vergessen. wie gesagt, werde halt alt... |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Zitat:
soll ich testen? |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Ja!
//Edit: Wenn du testest, kannst du auch mal ein Screenshot hier posten ? |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Liste der Anhänge anzeigen (Anzahl: 2)
Also ich habe folgendes ausgeführt und es geht:
Delphi-Quellcode:
Zum Vergleich auch ein Bild ohne Schatten.
procedure TForm1.CreateParams(var Params: TCreateParams);
const CS_DROPSHADOW = $00020000; begin inherited; if IsWindowsXPAndUp then Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW; end; Übrigens hat die Jedi Code Library eine vollständige Funktion zum ermitteln der Windowsversion. |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Zitat:
|
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Zitat:
P.S. übersetze dir mal das Wort Exception :wink: André |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Zitat:
...:cat:... |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Vielleicht helfen die Schweizer ausnahmnsweise mal...
![]() |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Ich kann ja noch mal auf die Jedi Code Library mit einer vollständigen Funktion zum ermitteln der Windowsversion verweisen.
|
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
Zu dem generieren Exception zusätzlichen Code für die CPU damit sie weiß, wohin sie zurückspringen kann und dieser ist nicht zu vernachlässigen. Deswegen, wie das Wort Exception schon sagt, dienen Exceptions dazu einen Ausnahmefehler zu behandeln, also, wenn das Programm in einen in definierten Zustand geraten könnte, bei dem die weitere saubere Ausführung nicht mehr gewährleistet ist.
Und der Vergleich hinkt nicht, denn ich kann hier auch immer abfragen, ob ein betriebssystem größer oder gleich Windows XP vorliegt. |
Re: Wie kann ich erkennen ob das OS >= Win XP ist.
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 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