c#获取:微软桌面操作系统版本

 

代码

    
/// <summary>
    
/// 微软桌面操作系统版本
    
/// </summary>
    public enum OSVersion
    {
        UnKnown 
= 0,
        Windows95 
= 1,
        Windows98 
= 2,
        WindowsMe 
= 3,
        WindowsNT3 
= 4,
        WindowsNT4 
= 5,
        Windows2000 
= 6,
        WindowsXP 
= 7,
        Windows2003 
= 8,
        WindowsVista 
= 9
    }
        
private static OSVersion? _WindowsVersion = null;
        
/// <summary>
        
/// 获取:微软桌面操作系统版本
        
/// </summary>
        public static OSVersion WindowsVersion
        {
            
get
            {
                
if (_WindowsVersion == null) _WindowsVersion = GetWindowsVersion();
                
return Functions._WindowsVersion.Value;
            }
        }
        
/// <summary>
        
/// 获取:微软桌面操作系统版本
        
/// </summary>
        
/// <returns></returns>
        private static OSVersion GetWindowsVersion()
        {
            OperatingSystem os 
= Environment.OSVersion;
            
switch (os.Platform)
            {
                
case PlatformID.Win32Windows:
                    
switch (os.Version.Minor)
                    {
                        
case 0:
                            
//return "Windows   95";
                            return OSVersion.Windows95;
                        
case 10:
                            
//if (os.Version.Revision.ToString() == "2222A")
                            
//    return "Windows   98   第二版";
                            
//else
                            
//    return "Windows   98";
                            return OSVersion.Windows98;
                        
case 90:
                            
//return "Windows   Me";
                            return OSVersion.WindowsMe;
                    }
                    
break;
                
case PlatformID.Win32NT:
                    
switch (os.Version.Major)
                    {
                        
case 3:
                            
//return "Windows   NT   3.51";
                            return OSVersion.WindowsNT3;
                        
case 4:
                            
//return "Windows   NT   4.0";
                            return OSVersion.WindowsNT4;
                        
case 5:
                            
switch (os.Version.Minor)
                            {
                                
case 0:
                                    
//return "Windows   200";
                                    return OSVersion.Windows2000;
                                
case 1:
                                    
//return "Windows   XP";
                                    return OSVersion.WindowsXP;
                                
case 2:
                                    
//return "Windows   2003";
                                    return OSVersion.Windows2003;
                            }
                            
break;
                        
case 6:
                            
return OSVersion.WindowsVista;
                    }
                    
break;
            }
            
//其他为:未知版本
            return OSVersion.UnKnown;
        }

 

 

posted @ 2010-07-01 12:25  风叙  阅读(156)  评论(0)    收藏  举报