如何检测用户正在运行的操作系统?

问题描述:

我使用VB .Net 2.0。我知道我可以使用如何检测用户正在运行的操作系统?

System.Environment.OSVersion 

谁能告诉我,如果有一个名单的地方在那里我能找到什么,产生了不同的操作系统版本检测操作系统。

特别是我试图检测用户是否运行Windows 7 64位。

+0

复制的文本http://*.com/questions/860459/determine-os-using-the-environment-osversion-object-c – EndangeredMassa 2010-07-22 13:47:42

对于版本的列表在这里看到:http://www.nirmaltv.com/2009/08/17/windows-os-version-numbers/

要找出32和64位,看到这个前面的问题:How to detect Windows 64-bit platform with .NET?

用途:

Environment.OSVersion.ToString() 

这将返回值,如:

"Microsoft Windows NT 5.0.2195.0" 

Here is a link如何从版本解压OS /版本号。

或者你可以use this function

Public Function GetOSVersion() As String 
    Select Case Environment.OSVersion.Platform 
     Case PlatformID.Win32S 
      Return "Win 3.1" 
     Case PlatformID.Win32Windows 
      Select Case Environment.OSVersion.Version.Minor 
       Case 0 
        Return "Win95" 
       Case 10 
        Return "Win98" 
       Case 90 
        Return "WinME" 
       Case Else 
        Return "Unknown" 
      End Select 
     Case PlatformID.Win32NT 
      Select Case Environment.OSVersion.Version.Major 
       Case 3 
        Return "NT 3.51" 
       Case 4 
        Return "NT 4.0" 
       Case 5 
        Select Case _ 
         Environment.OSVersion.Version.Minor 
         Case 0 
          Return "Win2000" 
         Case 1 
          Return "WinXP" 
         Case 2 
          Return "Win2003" 
        End Select 
       Case 6 
        Return "Vista/Win2008Server" 
       Case Else 
        Return "Unknown" 
      End Select 
     Case PlatformID.WinCE 
      Return "Win CE" 
    End Select 
End Function 

最全面我找到的解决方案是PJ Naughter的DtWinver类。它可以区分Windows的各种版本(简化版,家庭基础版,家庭高级版,专业版,企业版等),这些功能可能是您不需要的功能。

这为我工作,而不是检查版本号的,这仅仅检查是由Windows操作系统

返回获取操作系统名称

 Dim machineOSPlatform as String 
     If My.Computer.Info.OSFullName.Contains("7") Then 
      machineOSPlatform = "Windows 7" 
     ElseIf My.Computer.Info.OSFullName.Contains("XP") Then 
      machineOSPlatform = "Windows XP" 
     ElseIf My.Computer.Info.OSFullName.Contains("8") Then 
      machineOSPlatform = "Windows 8" 
     ElseIf My.Computer.Info.OSFullName.Contains("Vista") Then 
      machineOSPlatform = "Windows Vista" 
     ElseIf My.Computer.Info.OSFullName.Contains("2008") Then 
      machineOSPlatform = "Windows 2008 Server" 
     ElseIf My.Computer.Info.OSFullName.Contains("2012") Then 
      machineOSPlatform = "Windows 2012 Server" 
     ElseIf My.Computer.Info.OSFullName.Contains("2003") Then 
      machineOSPlatform - "Windows 2003 Server" 
     Else 
      machineOSPlatform = "Unknown OS" 
     End If 

http://www.vbforums.com/showthread.php?676340-how-can-i-get-visual-basic-to-show-what-os-your-running