[转][C#]Environment 类

时间:2024-04-16 19:53:28

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

Count =
["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"]: ""
["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"]: ""
["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"]: ""
["OS"]: "Windows_NT"
["CommonProgramFiles(x86)"]: "C:\\Program Files (x86)\\Common Files"
["ProgramFiles"]: "C:\\Program Files"
["ComSpec"]: "C:\\windows\\system32\\cmd.exe"
["COMPLUS_NoGuiFromShim"]: ""
["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"]: ""
["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 (): //
pt = Platform.Windows95;
break;
case (): //
if(os.Version.Revision.ToString() == "2222A")
pt = Platform.Windows982ndEdition;
else
pt = Platform.Windows98;
break;
case (): // 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 ():
pt = Platform.WindowsNT351;
break;
case ():
pt = Platform.WindowsNT40;
break;
case ():
if(os.Version.Minor == )
pt = Platform.Windows2000;
else if(os.Version.Minor == )
pt = Platform.WindowsXP;
else if(os.Version.Minor == )
pt = Platform.Windows2003;
else
pt = Platform.UnKnown;
break;
case ():
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
}