AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Abfrage der Windowsversion nach Update

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
21 Beiträge
 
#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!
  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.229 Beiträge
 
Delphi 11 Alexandria
 
#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.401 Beiträge
 
Delphi 11 Alexandria
 
#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

Registriert seit: 10. Sep 2019
Ort: OWL
279 Beiträge
 
Delphi 10.3 Rio
 
#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
21 Beiträge
 
#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;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf