c#获取xp系统信息的几种方法

所谓系统信息,就是指计算机的软件硬件信息,硬件如CPU主频、网卡名称等,软件信息就如操作系统目录,用户目录等。在平常的编程中,我们往往要用到这些系 统信息,读取系统信息对于编程还是很重要的,.NET提 供了很便利的方法,本文提供了三种方法来从各个方面对系统信息进行读取。
第一种方法:SystemInformation

SystemInformation 提供静态方法和属性,它们可用于获取诸如 Windows 显示元素大小、操作系统设置、网络可用性和系统中所安装硬件的性能等信息,这种方法侧重于操作系统(这里特指Windows)的一些设置和状态

using System.Windows.Forms;
//使用SystemInformation的静态成员获得系统信息并显示出来;
class Class1
{
static void Main(string[] args)
{
Console.WriteLine("计算机名:_"+System.Windows.Forms.SystemInformation.ComputerName.ToString());
Console.WriteLine("启动方式:_"+System.Windows.Forms.SystemInformation.BootMode.ToString());
Console.WriteLine("域名:
_"+System.Windows.Forms.SystemInformation.UserDomainName.ToString());
}

第二种方法 :用Environment

通过这种方法可检索的系统信息包括命令行参数、环境变量设置、调用堆栈的内容、上次系统引导以来的时间,以及公共语言运行库的版本等等,测重于使用这个类的应用程序所处的环境和状态,也有比较多的动态信息,比如开机启动后的毫秒数等等。

class Class1
{
static void Main(string[] args)
{
Console.WriteLine("系统登录时间:"+Environment.TickCount/1000/60+"分钟。");
Console.WriteLine("用户系统的当前目录:"+Environment.CurrentDirectory);
Console.WriteLine("用户系统使用的逻辑盘盘符:"+Environment.GetLogicalDrives());
Console.WriteLine("用户系统的系统路径:_"+Environment.GetFolderPath(Environment.SpecialFolder.System));
Console.ReadLine();
}
}

第三种方法 用RegistryKey

这种方法方法读取的也只能是静态的设置,不过比上面两种方法更加接近操作系统,因为值是直接从注册表中读取出来的,有好处也有不好的地方,好处就是基本上可以获得任何设置。不好的地方是不够便利,毕竟,检索注册表的键值不如直接调用方法来得方便。

需要Microsoft.win32命名空间

class Class1
{
static void Main(string[] args)
{
RegistryKey Rkey = Registry.LocalMachine;
Rkey = Rkey.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"); //注意这里是\\
Console.WriteLine("处理器信息:"+Rkey.GetValue("ProcessorNameString"));
Rkey=Registry.LocalMachine;
Rkey = Rkey.OpenSubKey("SOFTWARE\\Microsoft\\Windows _NT\\CurrentVersion\\NetworkCards\\1");
Console.WriteLine("网卡信息:"+(String)Rkey.GetValue("Description"));
Console.ReadLine();
}
}


posted on 2009-08-31 22:59  9号  阅读(277)  评论(0编辑  收藏  举报

导航