C#Winform获取当前系统的基本信息

216160810.png

SystemInformation类

在.net的系统信息类库中,最基本的类库是SystemInformation类,包含在System.Windows.Forms名字空间中。

该类库可以帮助我们获得有关系统的基本信息;这个类中只包含了几个从System.Object类继承的公共方法,没有提供其他的方法。

系统的信息可以通过这个类的公共静态成员获得,我们可以根据需要获得的信息选取合适的成员。

命名空间: System.Windows.Forms
程集集: System.Window.Forms.dll

提供当前系统环境的有关信息

public static class SystemInformation

继承Object → SystemInformation


Environment 类

第二种方法是通过Environment 类

该类提供了有关当前环境和平台的信息以及操作它们的方法;Environment 类除了提供了一些静态成员外,还提供了一些静态方法。

命名空间: System
程序集: System.Runtime.dll

提供有关当前环境和平台的信息以及操作它们的方法(此类不能被继承)。

public static class Environment

继承Object → Environment


RegistryKey 类

第三种方式是通过注册表查询系统信息,这是最传统的方法,也是功能最强大的方法和最复杂的方法。

.net中注册表封装在RegistryKey 类 中,位于Microsoft.win32命名空间中。

这个类和前两个类不同,它的公共属性我们能利用的机会很少,我们为了获得系统信息主要是使用它的OpenSubKey 方法,

然而为了使用这个方法,我们必须对注册表有相当的了解才行,这也正是使用这个类获得系统信息的复杂之处。

命名空间: Microsoft.Win32
程序集: Microsoft.Win32.Registry.dll

表示Windows注册表中的项级节点。此类是注册表封装。

public sealed class RegistryKey : MarshalByRefobject,IDisposable

继承Object → MarshalByRefobject → RegistryKey


练习实例

using System;
using System.Windows.Forms;

namespace Winform_1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 计算机名称 SystemInformation
            richTextBox1.AppendText("计算机名称: " + SystemInformation.ComputerName);
            // 换行
            richTextBox1.AppendText(Environment.NewLine);
            // 计算机名称 Environment
            richTextBox1.AppendText("计算机名称: " + Environment.MachineName);
            richTextBox1.AppendText(Environment.NewLine);
            // 用户名称
            richTextBox1.AppendText("用户名称: " + Environment.UserName);
            richTextBox1.AppendText(Environment.NewLine);
            // 平台标识
            richTextBox1.AppendText("平台标识: " + Environment.OSVersion.Platform);
            richTextBox1.AppendText(Environment.NewLine);
            // 操作系统版本号
            richTextBox1.AppendText("版本号: " + Environment.OSVersion.VersionString);
            richTextBox1.AppendText(Environment.NewLine);
            // 处理器个数
            richTextBox1.AppendText("处理器个数: " + Environment.ProcessorCount);
            richTextBox1.AppendText(Environment.NewLine);
            // 判断操作系统位数 64位&32位
            if (Environment.Is64BitOperatingSystem)
            {
                richTextBox1.AppendText("操作系统位数: 64bit.");
            }
            else
            {
                richTextBox1.AppendText("操作系统位数: 32bit.");
            }
            richTextBox1.AppendText(Environment.NewLine);
            // 判断网络
            if (SystemInformation.Network)
            {
                richTextBox1.AppendText("网络连接: 已连接");
            }
            else
            {
                richTextBox1.AppendText("网络连接: 未连接");
            }
            richTextBox1.AppendText(Environment.NewLine);
            // 判断系统启动模式
            if (SystemInformation.BootMode.ToString() == "Normal")
                richTextBox1.AppendText("启动模式: 正常启动");
            if (SystemInformation.BootMode.ToString() == "FailSafe")
                richTextBox1.AppendText("启动模式: 安全启动");
            if (SystemInformation.BootMode.ToString() == "FailSafeWithNework")
                richTextBox1.AppendText("启动方式: 通过网络服务启动");
            richTextBox1.AppendText(Environment.NewLine);
            // 显示器数量
            richTextBox1.AppendText("显示器数量: " + SystemInformation.MonitorCount);
            richTextBox1.AppendText(Environment.NewLine);
            // 显示器分辨率
            richTextBox1.AppendText("显示器分辨率: " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Width + " * " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Height);
            richTextBox1.AppendText(Environment.NewLine);
            // 当前分辨率
            richTextBox1.AppendText("主显示器当前分辨率: " + SystemInformation.PrimaryMonitorSize.Width + " * " + SystemInformation.PrimaryMonitorSize.Height);
            richTextBox1.AppendText(Environment.NewLine);
            // 鼠标按钮个数
            richTextBox1.AppendText("鼠标按钮个数: " + SystemInformation.MouseButtons.ToString());
            richTextBox1.AppendText(Environment.NewLine);
            // 鼠标速度
            richTextBox1.AppendText("鼠标速度: " + SystemInformation.MouseSpeed.ToString());
            richTextBox1.AppendText(Environment.NewLine);
            // 系统目录
            richTextBox1.AppendText("系统目录: " + Environment.SystemDirectory);
            richTextBox1.AppendText(Environment.NewLine);
            // 系统内存页
            richTextBox1.AppendText("系统内存页: " + Environment.SystemPageSize.ToString() + "MB");
            richTextBox1.AppendText(Environment.NewLine);
        }
    }
}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容