AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Abfrage der Windowsversion nach Update
Thema durchsuchen
Ansicht
Themen-Optionen

Abfrage der Windowsversion nach Update

Ein Thema von MatthiasFehr · begonnen am 26. Mai 2022 · letzter Beitrag vom 26. Mai 2022
Antwort Antwort
MatthiasFehr

Registriert seit: 4. Mär 2011
Ort: Franken (D)
34 Beiträge
 
Delphi 12 Athens
 
#1

Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 10:40
Betriebssystem: Win 7,Win 8,Win 8.1,Win 10,Win 11
Ich frage bisher in "HKEY_LOCAL_MACHINE" und
"SOFTWARE\Microsoft\Windows NT\CurrentVersion"
die Windowsversion ab. Das hat viele Jahre funktioniert.

Jetzt ist mir aufgefallen, dass bei einem Computer,
der von WIN10 auf WIN11 umgerüstet wurde, weiter die
alte Windowsversion über den o.g. Eintrag bereitgestellt wird.

Frage:
Gibt es eine alternative Methode in der Registrierung die aktuelle Windowsversion abzufragen?

Vorab vielen Dank!
Matthias Fehr
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 11:03
Das könnte eventuell eine Antwort sein.
Versuche es mal mit oder über WMI

Geändert von venice2 (26. Mai 2022 um 11:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#3

AW: Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 11:47
TOSVersion von 11.1 liefert auch zuverlässig Windows 11 und Windows Server 2022 zurück
https://docwiki.embarcadero.com/RADS...L_Improvements
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#4

AW: Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 11:47
Powershell:
Get-WmiObject -Class Win32_OperatingSystem | Format-List -Property Caption

gibt bei mir
Microsoft Windows 10 Enterprise aus.

Und unter 11? Würde mich mal Interessieren.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#5

AW: Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 11:48
Warum nutzt du nicht System.SysUtils.TOSVersion?

https://docwiki.embarcadero.com/Libr...ils.TOSVersion
  Mit Zitat antworten Zitat
mmw
(Gast)

n/a Beiträge
 
#6

AW: Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 15:07
Hallo,

zu #4

Delphi-Quellcode:
procedure GetCIM_OperatingSystemInfo;
 const
    WbemUser = '';
    WbemPassword = '';
    WbemComputer = 'localhost';
    wbemFlagForwardOnly = $00000020;
  var
    FSWbemLocator, FWMIService, FWbemObjectSet, FWbemObject: OLEVariant;
    oEnum: IEnumvariant;
    iValue: LongWord;
  begin
    FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
    FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
    FWbemObjectSet := FWMIService.ExecQuery('SELECT * FROM CIM_OperatingSystem', 'WQL', wbemFlagForwardOnly);
    oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumvariant;

    while oEnum.Next(1, FWbemObject, iValue) = 0 do

    begin
      showmessage(Format('Caption %s', [string(FWbemObject.Caption)]));
      showmessage(Format('Version %s', [string(FWbemObject.Version)]));
      FWbemObject := Unassigned;
    end;
  end;
liefert bei Windows 11:

Caption: Windows 11 Pro
Version: 10.0.22000

https://theroadtodelphi.com/


Gruß
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#7

AW: Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 15:20
Hallo,

zu #4

Delphi-Quellcode:
procedure GetCIM_OperatingSystemInfo;
 const
    WbemUser = '';
    WbemPassword = '';
    WbemComputer = 'localhost';
    wbemFlagForwardOnly = $00000020;
  var
    FSWbemLocator, FWMIService, FWbemObjectSet, FWbemObject: OLEVariant;
    oEnum: IEnumvariant;
    iValue: LongWord;
  begin
    FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
    FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
    FWbemObjectSet := FWMIService.ExecQuery('SELECT * FROM CIM_OperatingSystem', 'WQL', wbemFlagForwardOnly);
    oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumvariant;

    while oEnum.Next(1, FWbemObject, iValue) = 0 do

    begin
      showmessage(Format('Caption %s', [string(FWbemObject.Caption)]));
      showmessage(Format('Version %s', [string(FWbemObject.Version)]));
      FWbemObject := Unassigned;
    end;
  end;
liefert bei Windows 11:

Caption: Windows 11 Pro
Version: 10.0.22000

https://theroadtodelphi.com/


Gruß
Danke. Dann wäre WMI also eine alternative. Davon bin ich ausgegangen.
  Mit Zitat antworten Zitat
MatthiasFehr

Registriert seit: 4. Mär 2011
Ort: Franken (D)
34 Beiträge
 
Delphi 12 Athens
 
#8

AW: Abfrage der Windowsversion nach Update

  Alt 26. Mai 2022, 16:57
Vielen Dank an Alle für die schönen Anregungen!

Ich verwende jetzt diese Varianten:

//Kurze Version
Result := System.SysUtils.TOSVersion.Name;

//Lange Version
Result := System.SysUtils.TOSVersion.ToString;
Matthias Fehr
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz