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

托管代码: 运用 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: 可以用来推断大版本中的小版本。

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

操作系统名称 Platform Version.Major Version.Minor
Windows 3.1 0 ? ?
Windows 95 1 4 0
Windows 98 1 4 10
Windows Me 1 4 90
Windows NT 3.51 2 3 51
Windows NT 4.0 2 4 0
Windows 2000 2 5 0
Windows XP 2 5 1
Windows 2003 2 5 2
Windows Vista 2 6 0
操作体统名称和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中获得系统环境信息(转),布布扣,bubuko.com

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

上一篇:利用jquery的imgAreaSelect插件实现图片裁剪示例


下一篇:创意HTML5文字特效 类似翻页的效果