博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转载]在.Net Framework中获得系统环境信息(转)
阅读量:7071 次
发布时间:2019-06-28

本文共 4328 字,大约阅读时间需要 14 分钟。

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

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

操作体统名称和OSVersion参数的对应关系
操作系统名称 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

需要指出的是,目前尚未发布的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"

转载于:https://www.cnblogs.com/xchangli/p/3653689.html

你可能感兴趣的文章
SQL server分页方式
查看>>
Android IPC机制(二)用Messenger进行进程间通信【转】
查看>>
Javascript 严格模式详解
查看>>
Python3入门 Python3+Selenium做UI页面测试的学习
查看>>
两种查找算法的比较
查看>>
Spotlight监控工具使用
查看>>
依赖倒置三个原则
查看>>
[LeetCode] Contains Duplicate II
查看>>
ng-file-upload - samples
查看>>
BZOJ5339:[TJOI2018]教科书般的亵渎——题解
查看>>
svn完整搭建
查看>>
SQL XML 2
查看>>
关于jetty和webx对于HttpServletResponse getWriter和getOutputStream的处理
查看>>
纯CSS3写的10个不同的酷炫图片遮罩层效果
查看>>
关于电脑BIOS解密,如何解密问题?
查看>>
Spring线程安全的实现机制--ThreadLocal
查看>>
html5+canvs实现flash效果。
查看>>
form-data、x-www-form-urlencoded、raw、binary的区别
查看>>
第1周---python网络爬虫规则
查看>>
Shell中cut用法
查看>>