• [转][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
    }
  • 相关阅读:
    20155309 《Java程序设计》实验三(Java面向对象程序设计)实验报告
    2016-2017-2 20155309南皓芯《java程序设计》第十周学习总结
    2015309南皓芯实验二 Java面向对象程序设计
    2016-2017-2 20155309南皓芯《java程序设计》第九周学习总结
    2016-2017-2 20155309 南皓芯《java程序设计》第八周学习总结
    2015309南皓芯《Java程序设计》实验一(Java开发环境的熟悉)实验报告
    2016-2017-2 20155309南皓芯《java程序设计》第七周学习总结
    2016-2017-2 20155309南皓芯java第五周学习总结
    20155304 2016-2017-2 《Java程序设计》第六周学习总结
    20155304 2016-2017-2 《Java程序设计》第五周学习总结
  • 原文地址:https://www.cnblogs.com/z5337/p/9643687.html
Copyright © 2020-2023  润新知