![]() |
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: |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Hallo,
Also muß ich mich durch die TouchScreen-Sache beißen. Touchscreen = Maus Naja, fast 100% ;) Heiko |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Nicht bei W7
|
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Echt????
OK, aber das Tool "TTouchKeyboard" kann ich vergessen, wenn es ein Rechner mit Win2000 (ohne Touchscreen) ist :lol: Dafür die Betriebssystemabfrage. (Und der Umstieg von D7 auf D2010) |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Zitat:
Aber wäre es da nicht besser abzufragen, ob ein TouchScreen vorhanden ist? Es kann ja mal sein, daß ein Win7-Rechner ohne einen TS läuft und dagegen könnte auch ein Win2000-Rechner einen TS haben. |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Zitat:
Die "neue" Touch-Steuerung funktioniert erst ab W7 |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Dafür würde früher vom TouchScreen über einen Treiber die Maus gesteuert, also kommt das fast auf's Selbe raus ... zumindestens beim 1-Finger-Tippen :lol:
|
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Die neue Windows 7 Touchscreen API, welche auch von Delphi ab D2010 unterstützt wird, ist aber viel mächtiger!
|
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Zitat:
![]() |
Re: Feststellen, welches Betriebssystem läuft (D2010 /Win7)
Zitat:
Das heißt für dich, dass du prüfen solltest "ist touch verfügbar". Man abgesehen davon musst du wohl deinen Code bei Windows 7 R2 oder Windows 8 dann anpassen. Das müsstest du nicht bei Featureprüfung |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 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