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);
}
}
}
本文共 625 个字数,平均阅读时长 ≈ 2分钟
评论 (0)