C# 获得系统环境

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 软件系统10
{
    public class get_environment
    {
        public get_environment()
        {
            _reminder = new StringBuilder();
            //获取包含当前平台标识符和版本号的 System.OperatingSystem 对象
            OperatingSystem os=Environment.OSVersion;
            //标识程序集所支持的操作系统
            PlatformID osid=os.Platform;
            string[] drives=Environment.GetLogicalDrives();
            string drive_string="";
            foreach (string temp in drives)
            {
                drive_string += temp + ",";
            }
            drive_string = drive_string.TrimEnd(' ' , ',');

            _reminder.Append("计算机名称       " + Environment.MachineName+"
");
            _reminder.Append("操作系统版本信息 " + Environment.OSVersion+"
");
            _reminder.Append("操作系统ID       " + osid + "
");
            _reminder.Append("当前文件夹       " + Environment.CurrentDirectory + "
");
            _reminder.Append("CLR的版本信息    " + Environment.Version + "
");
            _reminder.Append("驱动器列表       " + drive_string + "
");

            //Environment.SpecialFolder得到系统文件夹
            _reminder.Append("程序安装program files " + Environment.SpecialFolder.ProgramFiles+"
");
            //如果要在x86路径
            //Environment.SpecialFolder.ProgramFilesX86
            // 摘要: 
            //     逻辑桌面,而不是物理文件系统位置。
            //Desktop
            //
            // 摘要: 
            //     包含用户程序组的目录。
            //Programs
            //
            // 摘要: 
            //     用作文档的公共储存库的目录。
            //Personal
            //
            // 摘要: 
            //     “我的文档”文件夹。
            //MyDocuments
            //
            // 摘要: 
            //     用作用户收藏夹项的公共储存库的目录。
            //Favorites
            //
            // 摘要: 
            //     对应于用户的“启动”程序组的目录。
            //Startup
            //
            // 摘要: 
            //     包含用户最近使用过的文档的目录。
            //Recent
            //
            // 摘要: 
            //     包含“发送”菜单项的目录。
            //SendTo
            //
            // 摘要: 
            //     包含“开始”菜单项的目录。
            //StartMenu
            //
            // 摘要: 
            //     “我的音乐”文件夹。
            //MyMusic
            //
            // 摘要: 
            //     文件系统目录,充当属于某个用户的视频的存储库。已在 .NET Framework 4 中添加。
            //MyVideos
            //
            // 摘要: 
            //     用于物理上存储桌面上的文件对象的目录。
            //DesktopDirectory
            //
            // 摘要: 
            //     “我的电脑”文件夹。
            //MyComputer
            //
            // 摘要: 
            //     文件系统目录,包含“网上邻居”虚拟文件夹中可能存在的链接对象。 已在 .NET Framework 4 中添加。
            //NetworkShortcuts
            //
            // 摘要: 
            //     包含字体的虚拟文件夹。 已在 .NET Framework 4 中添加。
            //Fonts
            //
            // 摘要: 
            //     用作文档模板的公共储存库的目录。
            //Templates
            //
            // 摘要: 
            //     文件系统目录,包含在所有用户的“开始”菜单上都出现的程序和文件夹。 此特殊文件夹仅对 Windows NT 系统有效。 已在 .NET Framework 4
            //     中添加。
            //CommonStartMenu
            //
            // 摘要: 
            //     跨应用程序共享的组件的文件夹。 此特殊文件夹仅对 Windows NT、Windows 2000 和 Windows XP 系统有效。 已在 .NET
            //     Framework 4 中添加。
            //CommonPrograms
            //
            // 摘要: 
            //     文件系统目录,包含在所有用户的“启动”文件夹中都出现的程序。 此特殊文件夹仅对 Windows NT 系统有效。 已在 .NET Framework 4
            //     中添加。
            //CommonStartup
            //
            // 摘要: 
            //     文件系统目录,包含在所有用户桌面上出现的文件和文件夹。 此特殊文件夹仅对 Windows NT 系统有效。 已在 .NET Framework 4
            //     中添加。
            //CommonDesktopDirectory
            //
            // 摘要: 
            //     目录,它用作当前漫游用户的应用程序特定数据的公共储存库。
            //ApplicationData
            //
            // 摘要: 
            //     文件系统目录,包含“打印机”虚拟文件夹中可能存在的链接对象。 已在 .NET Framework 4 中添加。
            //PrinterShortcuts
            //
            // 摘要: 
            //     目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。
            //LocalApplicationData
            //
            // 摘要: 
            //     用作 Internet 临时文件的公共储存库的目录。
            //InternetCache
            //
            // 摘要: 
            //     用作 Internet Cookie 的公共储存库的目录。
            //Cookies
            //
            // 摘要: 
            //     用作 Internet 历史记录项的公共储存库的目录。
            //History
            //
            // 摘要: 
            //     目录,它用作所有用户使用的应用程序特定数据的公共储存库。
            //CommonApplicationData
            //
            // 摘要: 
            //     Windows 目录或 SYSROOT。 它与 %windir% 或 %SYSTEMROOT% 环境变量相对应。 已在 .NET Framework 4
            //     中添加。
            //Windows
            //
            // 摘要: 
            //     “System”目录。
            //System
            //
            // 摘要: 
            //     “Program files”目录。 在非 x86 系统中,将 System.Environment.SpecialFolder.ProgramFiles
            //     传递到 System.Environment.GetFolderPath(System.Environment.SpecialFolder) 方法将返回非
            //     x86 程序的路径。 若要在非 x86 系统上获取 x86 程序文件目录,请使用 System.Environment.SpecialFolder.ProgramFilesX86
            //     成员。
            //ProgramFiles
            //
            // 摘要: 
            //     “我的图片”文件夹。
            //MyPictures
            //
            // 摘要: 
            //     用户的配置文件文件夹。 应用程序不应在此级别上创建文件或文件夹;它们应将其数据放在 System.Environment.SpecialFolder.ApplicationData
            //     所引用的位置之下。 已在 .NET Framework 4 中添加。
            //UserProfile
            //
            // 摘要: 
            //     Windows“System”文件夹。 已在 .NET Framework 4 中添加。
            //SystemX86
            //
            // 摘要: 
            //     “Program Files”文件夹。 已在 .NET Framework 4 中添加。 在 x86 系统中,将 System.Environment.SpecialFolder.ProgramFilesX86
            //     成员传递到 System.Environment.GetFolderPath(System.Environment.SpecialFolder)
            //     方法将返回 System.String.Empty;请改为使用 System.Environment.SpecialFolder.ProgramFiles
            //     成员。 您可以通过调用 System.Environment.Is64BitOperatingSystem 属性确定 Windows 是否为 32
            //     位操作系统。
            //ProgramFilesX86
            //
            // 摘要: 
            //     用于应用程序间共享的组件的目录。 若要在非 x86 系统上获取 x86 常规程序文件目录,请使用 System.Environment.SpecialFolder.ProgramFilesX86
            //     成员。
            //CommonProgramFiles
            //
            // 摘要: 
            //     “Program Files”文件夹。 已在 .NET Framework 4 中添加。
            //CommonProgramFilesX86
            //
            // 摘要: 
            //     文件系统目录,包含所有用户都可以使用的模板。 此特殊文件夹仅对 Windows NT 系统有效。已在 .NET Framework 4 中添加。
            //CommonTemplates
            //
            // 摘要: 
            //     文件系统目录,包含所有用户共有的文档。 此特殊文件夹仅对装有 Shfolder.dll 的 Windows NT 系统、Windows 95 和
            //     Windows 98 系统有效。 已在 .NET Framework 4 中添加。
            //CommonDocuments
            //
            // 摘要: 
            //     文件系统目录,包含计算机所有用户的管理工具。 已在 .NET Framework 4 中添加。
            //CommonAdminTools
            //
            // 摘要: 
            //     文件系统目录,用于存储各个用户的管理工具。 Microsoft Management Console (MMC) 会将自定义的控制台保存在此目录中,并且此目录将随用户一起漫游。
            //     已在 .NET Framework 4 中添加。
            //AdminTools
            //
            // 摘要: 
            //     文件系统目录,充当所有用户共有的音乐文件的存储库。 已在 .NET Framework 4 中添加。
            //CommonMusic
            //
            // 摘要: 
            //     文件系统目录,充当所有用户共有的图像文件的存储库。 已在 .NET Framework 4 中添加。
            //CommonPictures
            //
            // 摘要: 
            //     文件系统目录,充当所有用户共有的视频文件的存储库。 已在 .NET Framework 4 中添加。
            //CommonVideos
            //
            // 摘要: 
            //     文件系统目录,包含资源数据。 已在 .NET Framework 4 中添加。
            //Resources
            //
            // 摘要: 
            //     文件系统目录,包含本地化资源数据。 已在 .NET Framework 4 中添加。
            //LocalizedResources
            //
            // 摘要: 
            //     为了实现向后兼容,Windows Vista 中可以识别此值,但该特殊文件夹本身已不再使用。 已在 .NET Framework 4 中添加。
            //CommonOemLinks
            //
            // 摘要: 
            //     文件系统目录,充当等待写入 CD 的文件的临时区域。 已在 .NET Framework 4 中添加。
            //CDBurning

        }
        ~get_environment()
        {
            _reminder.Clear();
        }
        public string reminder
        {
            set
            {
                _reminder.Clear();
                _reminder.Append(value);
            }
            get
            {
                return _reminder.ToString();
            }
        }

        public void exit()
        {
            Environment.Exit(0);
        }
        public override string ToString()
        {
            return reminder;
        }
        private StringBuilder _reminder;
    }
}
原文地址:https://www.cnblogs.com/lindexi/p/12087763.html