[转载]在.Net Framework中获得系统环境信息(转)

摘要:
环境.特殊文件夹。LocalApplicationData–每个用户单独访问的用户程序数据适合放置在此目录中。这是“随身携带文件夹”。但是,您可以使用OSVersion中的Environment内部版本号来推断操作系统的名称。环境。与操作系统名称相关的OSVersion属性如下:Platform:可用于推断Windows3.1系列、Windows95系列和WindowsNT系列。版本主要:可用于推断产品系列中的大型版本。
原文地址:在.Net Framework中获得系统环境信息(转)作者:radiantwf
托管代码: 运用 System.Environment.GetFolderPath函数,通过指定我们想要获取的“已知文件夹”为参数,从而获取相应的文件夹的正确路径。
  •   Environment.SpecialFolder.CommonApplicationData – 所有用户都可以访问的使用程序数据适合放置在这个目录下。
  •   Environment.SpecialFolder.LocalApplicationData – 每个用户单独访问的使用程序数据适合放置在这个目录下。
  •   Environment.SpecialFolder.ApplicationData – 每个用户单独访问的使用程序数据适合放置在这个目录下。这是“随身文件夹”。

机器名

代码:

Environment.MachineName

结果示例:

"BOBOPO.COM"

用户名

代码:

Environment.UserName

结果示例:

"Bobopo"

CPU数量

代码:

Environment.ProcessorCount

结果示例:

1

操作系统内部版本信息

代码:

Environment.OSVersion.VersionString

结果示例:

"Microsoft Windows NT 5.1.2600 Service Pack 2"

操作系统版本号

代码:

Environment.OSVersion.Version.ToString

结果示例:

"5.1.2600.131072"

操作系统Service Pack号

代码:

Environment.OSVersion.ServicePack

结果示例:

"Service Pack 2"

.Net Framework版本号

代码:

Environment.Version.ToString

结果示例:

"2.0.50727.1433"
系统目录

Windows操作系统主目录

代码:

Directory.GetParent(Environment.SystemDirectory).FullName

结果示例:

"C:WINDOWS"

System32系统目录

代码:

Environment.SystemDirectory

结果示例:

"C:WINDOWSsystem32"

Program Files程序文件目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)

结果示例:

"C:Program Files"

Common Files程序公共文件目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles)

结果示例:

"C:Program FilesCommon Files"

所有用户公用的Application Data程序数据目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

结果示例:

"C:Documents and SettingsAll UsersApplication Data"
用户目录

Application Data程序数据目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

结果示例:

"C:Documents and SettingsBobopoApplication Data"

Desktop桌面目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.Desktop)

结果示例:

"C:Documents and SettingsBobopoDesktop"

Cookies目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.Cookies)

结果示例:

"C:Documents and SettingsBobopoCookies"

Favorites个人爱好目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.Favorites)

结果示例:

"C:Documents and SettingsBobopoFavorites"

My Documents我的文档目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

结果示例:

"C:Documents and SettingsBobopoMy Documents"

Start Menu开始菜单目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)

结果示例:

"C:Documents and SettingsBobopoStart Menu"

Recent最近访问目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.Recent)

结果示例:

"C:Documents and SettingsBobopoRecent"

Templates文档模板目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.Templates)

结果示例:

"C:Documents and SettingsBobopoTemplates"

Local Settings本地设定的Application Data目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

结果示例:

"C:Documents and SettingsBobopoLocal SettingsApplication Data"

History访问历史目录

代码:

Environment.GetFolderPath(Environment.SpecialFolder.History)

结果示例:

"C:Documents and SettingsBobopoLocal SettingsHistory"
操作系统名称

似乎.Net中并没有一种直接的方法获得操作系统的名称,至少我没有找到。不过可以通过Environment.OSVersion中的内部版本号来推断出操作系统的名称。

原理

与操作系统名称相关的Environment.OSVersion属性如下:

  • Platform: 可以用来推断Windows 3.1系列、Windows 95系列和Windows NT系列。
  • Version.Major: 可以用来推断产品系列中的大版本。
  • Version.Minor: 可以用来推断大版本中的小版本。

具体的推断关系如下表所示:

操作系统名称PlatformVersion.MajorVersion.Minor
Windows 3.10??
Windows 95140
Windows 981410
Windows Me1490
Windows NT 3.512351
Windows NT 4.0240
Windows 2000250
Windows XP251
Windows 2003252
Windows Vista260
操作体统名称和OSVersion参数的对应关系

需要指出的是,目前尚未发布的Windows 2008和Windows Vista具有相同的特征,所以用这种方法无法区分这两个版本。

可以用下面的函数来计算出操作系统的名称。

Public Shared Function GetOSVersionText() As String

Dim v As Version = Environment.OSVersion.Version

Select Case Environment.OSVersion.Platform

Case PlatformID.Win32S : Return "3.1"

Case PlatformID.Win32Windows

Select Case v.Minor

Case 0 : Return "95"

Case 10 : Return "98"

Case 90 : Return "Me"

End Select

Case PlatformID.Win32NT

Select Case v.Major

Case 3 : Return "NT 3.51"

Case 4 : Return "NT 4.0"

Case 5

Select Case v.Minor

Case 0 : Return "2000"

Case 1 : Return "XP"

Case 2 : Return "2003"

End Select

Case 6 : Return "Vista"

End Select

Case PlatformID.WinCE

Return "CE " & v.Major.ToString & "." & v.Minor.ToString

End Select

Return "Unknown"

End Function

操作系统名称

代码:

"Microsoft Windows " & GetOSVersionText()

结果示例:

"Microsoft Windows XP"

带Service Pack号的操作系统名称

代码:

"Microsoft Windows " & GetOSVersionText() & " " & Environment.OSVersion.ServicePack

结果示例:

"Microsoft Windows XP Service Pack 2"

免责声明:文章转载自《[转载]在.Net Framework中获得系统环境信息(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇apex:iframe 调用其他visaulforce page操作系统概念学习笔记三 cpu调度算法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

更改nexus的工作目录

默认情况下,nexus的工作目录位于${user_home}/sonatype工作目录中。在Linux中,如果用户是root用户,则使用/root/sonatype。这便于通过war将nexus安装到servlet容器中,但不利于服务器的集中管理。这需要更改默认的nexus工作目录位置。为了方便管理,您可以选择使用环境变量。...

H3C系列之三层交换机系统版本升级

本文中涉及的硬件和软件交换机:H3CS3600-28TP-SItftp软件:tftpd32软件升级文件:S36SI_ E-CMW310-R1702P44.zip升级文件描述如下:S36SI_ E-CMW310-R1702P44-S168.bin168-bitSSH加密应用程序S3600_ V606.btmbootrom(downloadedynetworkp...

dbeaver 驱动安装

一、背景:在Windows10安装dbeaver数据库连接工具,点“测试连接”的时候出现报错如下:ErrorresolvingdependenciesMavenartifact'maven:/mysql:mysql-connector-java:RELEASE'nofound经网上查询是dbeaver驱动无法下载的问题。二、解决方法:打开“窗口”-˃“首选项...

java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

主要用于西门子PLC的M、Q、I、DB块的数据读写。该组件支持快速建立高性能Modbus TCP终端。对于日志记录,暂时只保留接口。具体来说,您可以为该组件支持的西门子通信实现两种协议。一种是S7协议,它几乎不需要PLC侧的参数配置。另一个是Fetch/Write协议,它有点麻烦。如果S7不方便阅读,您可以选择“获取/写入”。S7更方便。...

Oracle创建用户并给用户授权查询指定表或视图的权限

4)限制第三方用户连接数最后还要对NORTHBOUND用户进行连接数的限制,以免第三方无限制的连接数据库,造成数据库SESSION暴涨:conn/assysdbaaltersystemsetresource_limite=truescope=bothsid='*';新建profile,初始限制为1,用于测试。这里用户名称分别为ryd_interface_sr...

deb包的2种安装安装方法

打开iFile软件并找到上面的路径。单击deb包并从弹出菜单中选择“设置”。安装完成后,单击右上角的“完成”重新启动手机。...