当执行 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
}

[转][C#]Environment 类的更多相关文章

  1. Android Environment 类详解

    Android应用开发中,常使用Environment类去获取外部存储目录,在访问外部存储之前一定要先判断外部存储是否已经是可使用(已挂载&可使用)状态, 并且需要在AndroidManife ...

  2. 在外部存储器上写入或读取文件(Environment类、File类的使用)

    1.Environment类 简单介绍:http://www.cnblogs.com/mengdd/p/3742623.html 详细介绍:http://www.2cto.com/kf/201408/ ...

  3. C#核编之System.Environment类

    在前面的例子中用来了Environment.GetCommandLineArgs()这个方法,这个方法就是获取用户的命令行输入,是Environment类的方法之一,该方法的返回值是string[]  ...

  4. Windows系统开发常用类-------------Environment类

    Windows系统开发常用类-------------Environment类:         SystemDirectory//显示系统目录         MachineName//计算机名称 ...

  5. 关于Environment类的使用

    import org.springframework.core.env.Environment; EnvironmentAware 如何引用这个类1.可以通过 @Autowired织入Environm ...

  6. c# 获取系统版本,获取net framework 版本(Environment 类)

    1.获取当前操作系统版本信息 使用Environment.OSVersion 属性 获取包含当前平台标识符和版本号的 OperatingSystem 对象. 命名空间:  System程序集:  ms ...

  7. Environment类,获取程序所在机器信息

    一.属性 CommandLine  获取该进程的命令行.CurrentDirectory 获取或设置当前工作目录的完全限定路径.ExitCode 获取或设置进程的退出代码.HasShutdownSta ...

  8. Environment 类

    提供有关当前环境和平台的信息以及操作它们的方法. 此类不能被继承. using System; using System.Collections; using System.Collections.G ...

  9. C# Environment类_获取程序所在机器信息

    一.属性 CommandLine  获取该进程的命令行.CurrentDirectory 获取或设置当前工作目录的完全限定路径.ExitCode 获取或设置进程的退出代码.HasShutdownSta ...

  10. C# - Environment类,获取桌面的路径

    private void button1_Click(object sender, EventArgs e) { string Path = Environment.GetFolderPath(Env ...

随机推荐

  1. Tomcat端口被占用解决办法

    1.在cmd运行窗口中输入netstat -ano 查看当前被占用的端口所对应的进城PID: 2.输入命令tasklist,找到进程号PID对应的进程名称(映像名称) 3.打开任务管理器(ctrl+a ...

  2. C# 的AOP实现

    闲来无事,做了一个AOP示例,此示例只能捕获方法调用事件,无法动态阻止方法调用的执行.因为取消后构造返回值成了难题,返回null貌似会报错.如果不需要这个功能,其实还是很完美的. 缺点是没有以接口方式 ...

  3. Linux 修改yum源

    第一种方式: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 第二种方式: ...

  4. doubleclick protobuf file load to project

    1,download protobuf file to local wget https://developers.google.com/ad-exchange/rtb/downloads/openr ...

  5. readv与writev

    [root@bogon mycode]# cat writev.c #include<stdio.h> #include<string.h> #include<unist ...

  6. day5 python学习

    本日主要讲了列表的一些操作 1.列表的增 ret=['wang','taibai','alxe','ritian'] ret.append("wusir") print(ret) ...

  7. python之路---07 join() fromkeys() 深浅拷贝

    二十四.基本数据类型补充 1.join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代.  获取到的每个元素和前面的*进行拼接.  ...

  8. day10 内容大纲

    01 去年内容回顾 01 去年内容回顾 *args **kwargs: 万能参数,动态参数 * 魔性用法: 函数的定义时,* ** 聚合. 函数的执行时,* ** 打散. 形参顺序: 位置参数,*ar ...

  9. day4 大纲笔记

    01 上周内容回顾 int bool str int <---> str: i1 = 100 str(i1) s1 = '10' int(s1) 字符串必须是数字组成. int <- ...

  10. Java面向对象 第1节 类和对象

    一.Java 对象和类 面向对象语言三大特性:封装.继承.多态: 对象:描述客观事物的一个实体: 类:类是封装对象的属性和方法的载体,反过来说具有相同属性和行为的一类实体被称为类:类行为:方法:属性: ...