![]() |
Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Feststellen, welches Betriebssystem läuft funktionierte unter D7 mit:
Delphi-Quellcode:
[DCC Fehler] Info1.pas(53): E2250 Es gibt keine überladene Version von 'GetVersionExA', die man mit diesen Argumenten aufrufen kann
function TInfoForm.GetWindowsVersion : string;
var myOsVersion : _OSVERSIONINFO; begin myOsVersion.dwOSVersionInfoSize := 148; GetVersionExA(myOsVersion); //<Fehlermeldung unter D2010 unter Windows 7 case myOsVersion.dwPlatformId of 1:begin if (myOsVersion.dwMajorVersion =4 ) and (myOsVersion.dwMinorVersion = 0) then Result := 'Windows 95'; if (myOsVersion.dwMajorVersion =4 ) and (myOsVersion.dwMinorVersion = 10) then Result := 'Windows 98'; end; 2:begin if (myOsVersion.dwMajorVersion =3 ) then Result := 'Windows NT 3.51'; if (myOsVersion.dwMajorVersion =4 ) then Result := 'Windows NT 4'; if (myOsVersion.dwMajorVersion =5 ) and (myOsVersion.dwMinorVersion = 0) then Result := 'Windows 2000'; if (myOsVersion.dwMajorVersion =5 ) and (myOsVersion.dwMinorVersion = 1) then Result := 'Windows XP'; end; else Result := 'unbekannt'; end; end; Kann jemand sagen, wie die OS-Version unter D2010 abgerufen werden kann? |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Hallo Kurt,
vielleicht hilft dir das weiter: ![]() |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
GetVersionExA wenn du die W Variante nimmst, solltest du mehr erfolgt haben.
GetVersionExW |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Du solltest auch die Zeile
Zitat:
Delphi-Quellcode:
ändern.
myOsVersion.dwOSVersionInfoSize := SizeOf(myOsVersion);
gruß rawi |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Herzlichen Dank.
Es funktioniert. Nun habe ich noch eingebaut:
Delphi-Quellcode:
und er zeigt mir auch meine Betriebssystemversion.
if (myOsVersion.dwMajorVersion =6 ) and
(myOsVersion.dwMinorVersion = 1) then Result := 'Windows 7'; Danke sehr |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Und wieso wird nicht eine der zig fertigen Funktionen aus der JCL, ElPack, ... verwendet und schon wieder die tausendste eigene Implementierung gemacht?
|
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Zitat:
PS: Gibt es eigentlich eine Komponente, welche sich notfalls eine Liste aus dem Internet zieht? (ich finde es immer witzig, wenn ein Programm neuere Windowse einfach nicht kennt oder gar was vollkommen falsches anzeigt ... mein Vista wurde von einem Programm auch schonmal für Win98 gehalten) |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Zitat:
Wo findet man denn diese Funktionen? |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Eine wurde doch oben schon genannt?
PS: Nochmal zu deinem Code: Zitat:
GetVersionEx + OSVERSIONINFO GetVersionExA + OSVERSIONINFOA GetVersionExW + OSVERSIONINFOW Du nimmst explizit die Ansi-Verison von GetVersionEx, aber willst diese mit der dynamisch Version des Records OSVERSIONINFO kombinieren, welche ab Delphi 2009 doch auf Unicode (OSVERSIONINFOW) weitergeleitet wird. Zitat:
Was willst du eigentlich genau erreichen, bzw. wozu benötigst du denn diese Information? |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Nun schimpfe nicht gleich, ich bin kein Superspezialist, sondern schreibe für uns die Zusatzprogramme
die mir helfen sollen, bei meinem Job. Die Auftragsbearbeitung, Fakturierung, Lagerverwaltung, das Bestellwesen, die Auswertungen aus Finanzbuchhaltung und Kostenrechnung und die Bilanzierung. Nun ist die Programmierung für mich doch spannender, als das Bilanzmodernisierungsgesetz (BilMoG), aber ich bin kein Systemspezialist, weshalb mir dann solche Fehler nicht auffallen. Ich benötige die Abfrage, weil die Erfassungsrechner Touchscreen unter Win7 laufen (sollen) während die "alten" Rechner eben die normale Tastatur haben. Also muß ich mich durch die TouchScreen-Sache beißen. Also werde nicht böse, ich lerne noch. PS: Die o.g. Programme habe ich schon vor Jahren (unter Delphi 7) erstellt und die laufen auch. Aber es kommen eben auch immer neue Wünsche und Verbesserungen. Außerdem lernt man ja auch dazu, so daß ich im Laufe der Zeit das eine oder andere geändert und erweitert habe. Ich habe das alles einmal selber geschrieben, es funktioniert sogar. :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 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