Betriebssystem ermitteln (inkl. Architektur)

    • VB.NET

    Es gibt 48 Antworten in diesem Thema. Der letzte Beitrag () ist von Rikudo.

      Sorry, hab mich vertippt.

      Also ich meinte: ich hab Win 8.1 und bei mir zeigt die Funktion Win 8 an.

      Habe dann minor und major mal ausgeben lassen und das war definitiv
      6 bei major und 2 bei minor.

      Sogar kürzlich erst formatiert.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Daniel Baumert“ ()

      Hallo,

      nein, dass ist kein Fehler des Frameworks oder von Windows.
      Die korrekte Version wird nur mit einer richtig manfistierten Applikation angezeigt, da Microsoft seit Windows 8.1 die API-Funktion als deprecated markiert hat und immer Version 6.2 zurückliefern lässt.

      Über ein korrektes Manifest in der Applikation lässt sich dieses Problem allerdings lösen.
      Einfach mal danach googeln :)
      lg.

      LucaWelker
      Steht ja hier im Thread. Einfach die Major- und Minor-Version abfragen (wie im ersten Post).
      Die Versionen von jedem System findest Du auch hier.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

      VB.NET-Quellcode

      1. Public Function GetOSVersion() As String
      2. Select Case Environment.OSVersion.Platform
      3. Case PlatformID.Win32S
      4. Return "Windows 3.1"
      5. Case PlatformID.Win32Windows
      6. Select Case Environment.OSVersion.Version.Minor
      7. Case 0
      8. Return "Windows 95" 'Windows 95 unterstützt .Net nicht
      9. Case 10
      10. If Environment.OSVersion.Version.Revision.ToString() = "2222A" Then
      11. Return "Windows 98 - Second Edition"
      12. Else
      13. Return "Windows 98"
      14. End If
      15. Case 90
      16. Return "Windows ME"
      17. Case Else
      18. Return "Unbekannt"
      19. End Select
      20. Case PlatformID.Win32NT
      21. Select Case Environment.OSVersion.Version.Major
      22. Case 3
      23. Select Case Environment.OSVersion.Version.Minor
      24. Case 0
      25. Return "Windows NT 3" 'Windows NT 3 unterstützt .Net nicht
      26. Case 1
      27. Return "Windows NT 3.1" 'Windows NT 3.1 unterstützt .Net nicht
      28. Case 5
      29. Return "Windows NT 3.5" 'Windows NT 3.5 unterstützt .Net nicht
      30. Case 51
      31. Return "Windows NT 3.51" 'Windows NT 3.51 unterstützt .Net nicht
      32. End Select
      33. Case 4
      34. Return "Windows NT 4.0"
      35. Case 5
      36. Select Case Environment.OSVersion.Version.Minor
      37. Case 0
      38. Return "Windows 2000"
      39. Case 1
      40. Return "Windows XP"
      41. Case 2
      42. Return "Windows 2003"
      43. End Select
      44. Case 6
      45. Select Case Environment.OSVersion.Version.Minor
      46. Case 0
      47. Return "Windows Vista/Windows 2008 Server"
      48. Case 1
      49. Return "Windows 7"
      50. Case 2
      51. Return "Windows 8"
      52. Case 3
      53. Return "Windows 8.1"
      54. End Select
      55. Case 10
      56. Return "Windows 10"
      57. Case Else
      58. Return "Unbekannt"
      59. End Select
      60. Case PlatformID.WinCE
      61. Return "Windows CE"
      62. Case PlatformID.Xbox
      63. Return "XBox"
      64. Case PlatformID.MacOSX
      65. Return "Mac OS X"
      66. Case PlatformID.Unix
      67. Return "Unix"
      68. Case Else
      69. Return "Unbekannt"
      70. End Select
      71. End Function


      Das dürfte dann stimmen, oder?