Moin!
in Anlehnung an Betriebssystem auslesen für Windows 10 würde mich interessieren, wie man ziemlich sicher Win11 auslesen kann bzw. mir reicht es eigentlich schon aus festzustellen, dass es sich um "Win10" oder "Win11" handelt.
Mein Code bisher ist
Spoiler anzeigen
Kann mir einer weiterhelfen?
Gruß Jan
in Anlehnung an Betriebssystem auslesen für Windows 10 würde mich interessieren, wie man ziemlich sicher Win11 auslesen kann bzw. mir reicht es eigentlich schon aus festzustellen, dass es sich um "Win10" oder "Win11" handelt.
Mein Code bisher ist
VB.NET-Quellcode
- Public Function GetWindwosClientVersion4Folder(Optional Log As EBL.Logger.Log = Nothing) As String
- '------ http://ms-wiki-1/eblwiki/index.php?title=Miscellaneous_(Klasse_von_EBL.Service)#GetWindwosClientVersion4Folder ---
- ' Quelle: https://www.vb-paradise.de/index.php/Thread/116592-Betriebssystem-auslesen-f%C3%BCr-Windows-10/
- Dim major As Integer = System.Environment.OSVersion.Version.Major
- Dim minor As Integer = System.Environment.OSVersion.Version.Minor
- Dim build As Integer = System.Environment.OSVersion.Version.Build
- If System.IO.File.Exists(_k_EBL_OSystem) = False Then
- Log.WriteAsError("Kein Zugriff auf das Verzeichnis:" & Environment.NewLine &
- _k_EBL_OSystem & Environment.NewLine &
- "Diese Datei wird für die Ermittlung des Betriebssystems benötigt!" & Environment.NewLine & Environment.NewLine &
- "major:= " & major.ToString & Environment.NewLine &
- "minor:= " & minor.ToString & Environment.NewLine &
- "build:= " & build.ToString)
- Return ""
- End If
- Try
- If major = 6 AndAlso minor = 1 Then
- Return "Win7"
- 'ElseIf major = 6 AndAlso minor = 2 AndAlso build = 9200 Then
- ' Return "Win8"
- 'ElseIf major = 6 AndAlso minor = 2 AndAlso build = 9600 Then
- ' Return "Win8"
- ElseIf major = 10 AndAlso minor = 0 AndAlso build = 10240 Then
- Return "Win10"
- ElseIf major = 6 AndAlso minor = 2 AndAlso build = 9200 Then
- Return "Win10"
- ElseIf major = 10 AndAlso minor = 0 AndAlso build = 16299 Then ' PC SchlaussSe
- Return "Win10"
- ElseIf major = 10 AndAlso minor = 0 AndAlso build = 14393 Then ' Server 2016 - ms-kanaldatdb-1
- Return "Win10"
- ElseIf major = 10 AndAlso minor = 0 Then ' damit es weitestgehend passt
- Return "Win10"
- Else
- Log.WriteAsError("Es liegt eine Version vor, die nicht unterstützt wird!" & Environment.NewLine & _
- "major:= " & major.ToString & Environment.NewLine & _
- "minor:= " & minor.ToString & Environment.NewLine & _
- "build:= " & build.ToString)
- End If
- Catch ex As Exception
- Log.WriteAsError("unvorhergesehener Fehler in EBL.Service > Miscellaneous > GetWindwosClientVersion4Folder" & Environment.NewLine & _
- "major:= " & major.ToString & Environment.NewLine & _
- "minor:= " & minor.ToString & Environment.NewLine & _
- "build:= " & build.ToString & Environment.NewLine & ex.ToString)
- End Try
- Return ""
- End Function
Kann mir einer weiterhelfen?
Gruß Jan