C#Winform获取当前系统的基本信息
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 }
测试效果
*** | 以上内容仅为学习参考、学习笔记使用 | ***