首页 > 技术文章 > C#Winform获取当前系统的基本信息

Haha1999 2021-04-16 15:14 原文

SystemInformation类

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

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

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

 

Environment 类

 第二种方法是通过Environment 类

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

 

 RegistryKey 类

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

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

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

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

 

 练习实例

 1 using System;
 2 using System.Windows.Forms;
 3 
 4 namespace Winform_1
 5 {
 6     public partial class Form1 : Form
 7     {
 8         public Form1()
 9         {
10             InitializeComponent();
11         }
12 
13         private void Form1_Load(object sender, EventArgs e)
14         {
15             // 计算机名称 SystemInformation
16             richTextBox1.AppendText("计算机名称: " + SystemInformation.ComputerName);
17             // 换行
18             richTextBox1.AppendText(Environment.NewLine);
19             // 计算机名称 Environment
20             richTextBox1.AppendText("计算机名称: " + Environment.MachineName);
21             richTextBox1.AppendText(Environment.NewLine);
22             // 用户名称
23             richTextBox1.AppendText("用户名称: " + Environment.UserName);
24             richTextBox1.AppendText(Environment.NewLine);
25             // 平台标识
26             richTextBox1.AppendText("平台标识: " + Environment.OSVersion.Platform);
27             richTextBox1.AppendText(Environment.NewLine);
28             // 操作系统版本号
29             richTextBox1.AppendText("版本号: " + Environment.OSVersion.VersionString);
30             richTextBox1.AppendText(Environment.NewLine);
31             // 处理器个数
32             richTextBox1.AppendText("处理器个数: " + Environment.ProcessorCount);
33             richTextBox1.AppendText(Environment.NewLine);
34             // 判断操作系统位数 64位&32位
35             if (Environment.Is64BitOperatingSystem)
36             {
37                 richTextBox1.AppendText("操作系统位数: 64bit.");
38             }
39             else
40             {
41                 richTextBox1.AppendText("操作系统位数: 32bit.");
42             }
43             richTextBox1.AppendText(Environment.NewLine);
44             // 判断网络
45             if (SystemInformation.Network)
46             {
47                 richTextBox1.AppendText("网络连接: 已连接");
48             }
49             else
50             {
51                 richTextBox1.AppendText("网络连接: 未连接");
52             }
53             richTextBox1.AppendText(Environment.NewLine);
54             // 判断系统启动模式
55             if (SystemInformation.BootMode.ToString() == "Normal")
56                 richTextBox1.AppendText("启动模式: 正常启动");
57             if (SystemInformation.BootMode.ToString() == "FailSafe")
58                 richTextBox1.AppendText("启动模式: 安全启动");
59             if (SystemInformation.BootMode.ToString() == "FailSafeWithNework")
60                 richTextBox1.AppendText("启动方式: 通过网络服务启动");
61             richTextBox1.AppendText(Environment.NewLine);
62             // 显示器数量
63             richTextBox1.AppendText("显示器数量: " + SystemInformation.MonitorCount);
64             richTextBox1.AppendText(Environment.NewLine);
65             // 显示器分辨率
66             richTextBox1.AppendText("显示器分辨率: " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Width + " * " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Height);
67             richTextBox1.AppendText(Environment.NewLine);
68             // 当前分辨率
69             richTextBox1.AppendText("主显示器当前分辨率: " + SystemInformation.PrimaryMonitorSize.Width + " * " + SystemInformation.PrimaryMonitorSize.Height);
70             richTextBox1.AppendText(Environment.NewLine);
71             // 鼠标按钮个数
72             richTextBox1.AppendText("鼠标按钮个数: " + SystemInformation.MouseButtons.ToString());
73             richTextBox1.AppendText(Environment.NewLine);
74             // 鼠标速度
75             richTextBox1.AppendText("鼠标速度: " + SystemInformation.MouseSpeed.ToString());
76             richTextBox1.AppendText(Environment.NewLine);
77             // 系统目录
78             richTextBox1.AppendText("系统目录: " + Environment.SystemDirectory);
79             richTextBox1.AppendText(Environment.NewLine);
80             // 系统内存页
81             richTextBox1.AppendText("系统内存页: " + Environment.SystemPageSize.ToString() + "MB");
82             richTextBox1.AppendText(Environment.NewLine);
83         }
84     }
85 }

测试效果

 

 

 

*** |  以上内容仅为学习参考、学习笔记使用  | ***

推荐阅读