[转][C#]Environment 类

当执行 Environment.GetEnvironmentVariables() 时,可以得到以下结果(受所安装软件影响,每台电脑都不一样)

Count = 53
    ["SystemDrive"]: "C:"
    ["ProgramFiles(x86)"]: "C:\\Program Files (x86)"
    ["ProgramW6432"]: "C:\\Program Files"
    ["PROCESSOR_IDENTIFIER"]: "Intel64 Family 6 Model 60 Stepping 3, GenuineIntel"
    ["TMP"]: "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp"
    ["PROCESSOR_ARCHITECTURE"]: "AMD64"
    ["PATHEXT"]: ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
    ["VisualStudioVersion"]: "15.0"
    ["COMPUTERNAME"]: "C-123"
    ["PkgDefApplicationConfigFile"]: "C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\VisualStudio\\15.0_b81\\devenv.exe.config"
    ["SESSIONNAME"]: "Console"
    ["PROCESSOR_REVISION"]: "3c03"
    ["TEMP"]: "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp"
    ["ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO"]: "1"
    ["FPS_BROWSER_USER_PROFILE_STRING"]: "Default"
    ["LOGONSERVER"]: "\\\\C-123"
    ["USERNAME"]: "Administrator"
    ["SystemRoot"]: "C:\\windows"
    ["VSSKUEDITION"]: "Community"
    ["USERPROFILE"]: "C:\\Users\\Administrator"
    ["FPS_BROWSER_APP_PROFILE_STRING"]: "Internet Explorer"
    ["XAMARIN_ANDROID_REGKEY"]: "SOFTWARE\\Xamarin\\VisualStudio\\15.0_b81\\Android"
    ["OneDrive"]: "C:\\Users\\Administrator\\OneDrive"
    ["CommonProgramFiles"]: "C:\\Program Files\\Common Files"
    ["ProgramData"]: "C:\\ProgramData"
    ["VSAPPIDDIR"]: "C:\\Program Files\\Microsoft Visual Studio\\2017\\Community\\Common7\\IDE\\"
    ["HOMEPATH"]: "\\Users\\Administrator"
    ["MONO_ANDROID_PATH"]: "C:\\Program Files\\Microsoft Visual Studio\\2017\\Community\\MSBuild\\Xamarin\\Android"
    ["ALLUSERSPROFILE"]: "C:\\ProgramData"
    ["CommonProgramW6432"]: "C:\\Program Files\\Common Files"
    ["VisualStudioEdition"]: "Microsoft Visual Studio Community 2017"
    ["VSLANG"]: "2052"
    ["Path"]: "C:\\Program Files\\Java\\jdk1.8.0_181\\bin;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\100\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\100\\DTS\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\VSShell\\Common7\\IDE\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\DTS\\Binn\\;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;"
    ["HOMEDRIVE"]: "C:"
    ["windir"]: "C:\\windows"
    ["NUMBER_OF_PROCESSORS"]: "4"
    ["OS"]: "Windows_NT"
    ["CommonProgramFiles(x86)"]: "C:\\Program Files (x86)\\Common Files"
    ["ProgramFiles"]: "C:\\Program Files"
    ["ComSpec"]: "C:\\windows\\system32\\cmd.exe"
    ["COMPLUS_NoGuiFromShim"]: "1"
    ["JAVA_HOME"]: "C:\\Program Files\\Java\\jdk1.8.0_181"
    ["PSModulePath"]: "C:\\Program Files\\WindowsPowerShell\\Modules;C:\\windows\\system32\\WindowsPowerShell\\v1.0\\Modules"
    ["VisualStudioDir"]: "C:\\Users\\Administrator\\Documents\\Visual Studio 2017"
    ["APPDATA"]: "C:\\Users\\Administrator\\AppData\\Roaming"
    ["USERDOMAIN"]: "C-123"
    ["PROCESSOR_LEVEL"]: "6"
    ["LOCALAPPDATA"]: "C:\\Users\\Administrator\\AppData\\Local"
    ["USERDOMAIN_ROAMINGPROFILE"]: "C-123"
    ["VSIDE"]: "true"
    ["PUBLIC"]: "C:\\Users\\Public"
    ["VSAPPIDNAME"]: "devenv.exe"
    ["MSBuildLoadMicrosoftTargetsReadOnly"]: "true"

或者这样取值:

Environment.UserDomainName  // 获取与当前用户关联的网络域名。

Environment.ProcessorCount  // 获取当前计算机上的处理器数。

Environment.WorkingSet  //  获取映射到进程上下文的物理内存量。

Environment.Version  //  获取公共语言运行库的版本信息。

Environment.OSVersion  //  获取系统版本号,类似于 Microsoft Windows NT 6.2.9200.0

Environment.GetLogicalDrives()  //  返回当前计算机中的逻辑驱动器名称(数组)。

Environment.GetFolderPath(Environment.SpecialFolder.Desktop)  //  获取桌面路径(逻辑)。

Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)  // 获取桌面路径(物理)。

获取当前操作系统版本:(Win 7、Win 8、Win 10 待完善)

 

/// <summary>
/// 获取当前运行的操作系统版本。
/// </summary>
/// <returns><see cref="Platform"/> 的值之一,它表示当前运行的操作系统版本。</returns>
private static Platform GetCurrentPlatform()
{
    OperatingSystem os = Environment.OSVersion;
    Platform pt;
    switch(os.Platform)
    {
        case (PlatformID.Win32Windows): // Win95, Win98 or Me
            switch(os.Version.Minor)
            {
                case (0): // 95
                    pt = Platform.Windows95;
                    break;
                case (10): // 98
                    if(os.Version.Revision.ToString() == "2222A")
                        pt = Platform.Windows982ndEdition;
                    else
                        pt = Platform.Windows98;
                    break;
                case (90): // winme
                    pt = Platform.WindowsME;
                    break;
                default: // Unknown
                    pt = Platform.UnKnown;
                    break;
            }
            break;
        case (PlatformID.Win32NT): //Win2k or Xp or 2003
            switch(os.Version.Major)
            {
                case (3):
                    pt = Platform.WindowsNT351;
                    break;
                case (4):
                    pt = Platform.WindowsNT40;
                    break;
                case (5):
                    if(os.Version.Minor == 0)
                        pt = Platform.Windows2000;
                    else if(os.Version.Minor == 1)
                        pt = Platform.WindowsXP;
                    else if(os.Version.Minor == 2)
                        pt = Platform.Windows2003;
                    else
                        pt = Platform.UnKnown;
                    break;
                case (6):
                    pt = Platform.WindowsVista;
                    break;
                default:
                    pt = Platform.UnKnown;
                    break;
            }
            break;
        case (PlatformID.WinCE): // WinCE
            pt = Platform.WindowsCE;
            break;
        case (PlatformID.Win32S):
        case (PlatformID.Unix):
        default:
            pt = Platform.UnKnown;
            break;
    }
    return pt;
}

/// <summary>
/// 表示操作系统平台。
/// </summary>
private enum Platform : byte
{
    /// <summary>
    /// Windows 95 操作系统.
    /// </summary>
    Windows95,
    /// <summary>
    /// Windows 98 操作系统.
    /// </summary>
    Windows98,
    /// <summary>
    /// Windows 98 第二版操作系统.
    /// </summary>
    Windows982ndEdition,
    /// <summary>
    /// Windows ME 操作系统.
    /// </summary>
    WindowsME,
    /// <summary>
    /// Windows NT 3.51 操作系统.
    /// </summary>
    WindowsNT351,
    /// <summary>
    /// Windows NT 4.0 操作系统.
    /// </summary>
    WindowsNT40,
    /// <summary>
    /// Windows 2000 操作系统.
    /// </summary>
    Windows2000,
    /// <summary>
    /// Windows XP 操作系统.
    /// </summary>
    WindowsXP,
    /// <summary>
    /// Windows 2003 操作系统.
    /// </summary>
    Windows2003,
    /// <summary>
    /// Windows Vista 操作系统.
    /// </summary>
    WindowsVista,
    /// <summary>
    /// Windows CE 操作系统.
    /// </summary>
    WindowsCE,
    /// <summary>
    /// 操作系统版本未知。
    /// </summary>
    UnKnown
}

 

posted on 2018-09-13 22:37  z5337  阅读(3150)  评论(0编辑  收藏  举报