Rubrik: System/Windows | VB-Versionen: VB.NET | 13.06.03 |
Betriebssystem unter VB.NET ermitteln Dieser Code zeigt, wie sich das verwendete Betriebssystem unter Visual Basic .NET ermitteln lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 28.089 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Unser heutiger Tipp verrät, wie sich das verwendete Betriebssystem unter VB.NET ermitteln lässt. Hierfür benötigen wir die Environment-Klasse mit seinen Membern OSVersion und Version. Über OSVersion können wir die Platform abfragen:
Dim oSystem As OperatingSystem = Environment.OSVersion MsgBox(oSystem.Platform.ToString)
Leider liefert uns die Platform-Eigenschaft nicht den exakten Namen des Betriebssystem, sondern einen der nachfolgend aufgeführten "Konstanten":
- Win32NT
- Win32Windows
Handelt es sich um WinNT, Win2000 oder WinXP liefert uns Platform folglich Win32NT. Handelt es sich um das Betriebssystem Win95, Win98 oder WinME gibt Platform die Konstante Win32Windows zurück.
Wir brauchen also noch einen Code, mit dem wir das exakte Betriebssystem ermitteln können. Hierzu muss man neben der Platform die exakte Version auslesen und auswerten, die wir über das Member Version von OSVersion erhalten.
Nachfolgend eine universelle Funktion, die den exakten Namen des Betriebssystem zurückgibt:
Public Function GetOSVersion() As String Dim oSystem As OperatingSystem = Environment.OSVersion Dim oVersion As Version = oSystem.Version Dim sPlatform As String If oSystem.Platform = PlatformID.Win32NT Then ' WinNT / 2000 / XP Select Case oVersion.Major Case 3 sPlatform = IIf(oVersion.Minor = 51, "WinNT3.51", "WinNT3") Case 4 sPlatform = "WinNT4" Case 5 sPlatform = IIf(oVersion.Minor = 0, "Win2000", "WinXP") End Select ElseIf oSystem.Platform = PlatformID.Win32Windows Then ' Win 95 / 98 / ME Select Case oVersion.Minor Case 0 sPlatform = "Win95" Case 10 sPlatform = "Win98" Case "90" sPlatform = "WinME" End Select End If GetOSVersion = sPlatform End Sub