using System;
using System.Management;
namespace Soyee.Comm
{
/// <summary>
/// Computer Information
/// </summary>
public class Computer
{
public string CpuID;
public string MacAddress;
public string DiskID;
public string IpAddress;
public string LoginUserName;
public string ComputerName;
public string SystemType;
public string TotalPhysicalMemory; //单位:M
private static Computer _instance;
public static Computer Instance()
{
if (_instance == null)
_instance = new Computer();
return _instance;
}
protected Computer()
{
CpuID=GetCpuID();
MacAddress=GetMacAddress();
DiskID=GetDiskID();
IpAddress=GetIPAddress();
LoginUserName=GetUserName();
SystemType=GetSystemType();
TotalPhysicalMemory=GetTotalPhysicalMemory();
ComputerName=GetComputerName();
}
string GetCpuID()
{
try
{
//获取CPU序列号代码
string cpuInfo = " ";//cpu序列号
ManagementClass mc = new ManagementClass( "Win32_Processor ");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
cpuInfo = mo.Properties[ "ProcessorId "].Value.ToString();
}
moc=null;
mc=null;
return cpuInfo;
}
catch
{
return "unknow ";
}
finally
{
}
}
string GetMacAddress()
{
try
{
//获取网卡硬件地址
string mac= " ";
ManagementClass mc = new ManagementClass( "Win32_NetworkAdapterConfiguration ");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if((bool)mo[ "IPEnabled "] == true)
{
mac=mo[ "MacAddress "].ToString();
break;
}
}
moc=null;
mc=null;
return mac;
}
catch
{
return "unknow ";
}
finally
{
}
}
string GetIPAddress()
{
try
{
//获取IP地址
string st= " ";
ManagementClass mc = new ManagementClass( "Win32_NetworkAdapterConfiguration ");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if((bool)mo[ "IPEnabled "] == true)
{
//st=mo[ "IpAddress "].ToString();
System.Array ar;
ar=(System.Array)(mo.Properties[ "IpAddress "].Value);
st=ar.GetValue(0).ToString();
break;
}
}
moc=null;
mc=null;
return st;
}
catch
{
return "unknow ";
}
finally
{
}
}
string GetDiskID()
{
try
{
//获取硬盘ID
String HDid= " ";
ManagementClass mc = new ManagementClass( "Win32_DiskDrive ");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
HDid = (string)mo.Properties[ "Model "].Value;
}
moc=null;
mc=null;
return HDid;
}
catch
{
return "unknow ";
}
finally
{
}
}
/// <summary>
/// 操作系统的登录用户名
/// </summary>
/// <returns> </returns>
string GetUserName()
{
try
{
string st= " ";
ManagementClass mc = new ManagementClass( "Win32_ComputerSystem ");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
st=mo[ "UserName "].ToString();
}
moc=null;
mc=null;
return st;
}
catch
{
return "unknow ";
}
finally
{
}
}
/// <summary>
/// PC类型
/// </summary>
/// <returns> </returns>
string GetSystemType()
{
try
{
string st= " ";
ManagementClass mc = new ManagementClass( "Win32_ComputerSystem ");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
st=mo[ "SystemType "].ToString();
}
moc=null;
mc=null;
return st;
}
catch
{
return "unknow ";
}
finally
{
}
}
/// <summary>
/// 物理内存
/// </summary>
/// <returns> </returns>
string GetTotalPhysicalMemory()
{
try
{
string st= " ";
ManagementClass mc = new ManagementClass( "Win32_ComputerSystem ");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
st=mo[ "TotalPhysicalMemory "].ToString();
}
moc=null;
mc=null;
return st;
}
catch
{
return "unknow ";
}
finally
{
}
}
/// <summary>
///
/// </summary>
/// <returns> </returns>
string GetComputerName()
{
try
{
return System.Environment.GetEnvironmentVariable( "ComputerName ");
}
catch
{
return "unknow ";
}
finally
{
}
}
}
}
分享到:
相关推荐
C#是一种强大的编程语言,它允许开发者与Windows API交互,从而获取并操作这些系统服务的信息。本文将深入探讨如何使用C#来获取Windows系统的服务信息。 首先,我们需要引入`System.ServiceProcess`命名空间,这个...
首先,我们需要引入System.Management命名空间,它提供了对系统管理对象的访问,包括获取系统信息的能力。在你的C#代码顶部添加以下引用: ```csharp using System; using System.Management; ``` 1. **获取操作...
在C#编程中,获取系统信息是一项常见的任务,这包括但不限于内存信息、硬盘信息、网卡编号以及硬盘ID等。这些信息对于系统监控、性能分析和日志记录等场景非常有用。下面,我们将深入探讨如何使用C#来获取这些关键的...
C#是一种广泛使用的编程语言,尤其在开发Windows应用程序时,获取系统信息是常见的需求。本文将详细介绍四种在C#中获取系统信息的方法。 首先,SystemInformation类提供了许多静态方法和属性,可以获取Windows操作...
在C#编程中,获取系统信息是常见的需求,可以用于监控、日志记录或系统诊断。以下是四种不同的方法,详细介绍了如何使用C#获取不同类型的系统信息。 首先,使用`SystemInformation`类。该类提供了关于Windows操作...
本文将深入探讨如何利用C#来获取系统托盘区域(也称为通知区域)的信息,包括显示在托盘区域中的图标以及它们所关联的进程ID。 系统托盘区域是Windows操作系统桌面右下角的一个区域,通常包含各种程序的小图标,如...
C#获取系统信息的方法,包括获取操作系统设置信息、获取程序运行的相关信息、通过注册表获取信息等
首先,我们需要引入`System`命名空间,它包含了获取操作系统信息所需的类。`System.Environment`类提供了关于执行环境的静态信息,其中包括了操作系统的信息。以下是一个简单的示例,展示如何获取操作系统版本的基本...
C# 获取硬件信息 C# 获取硬件信息是指通过使用 C# 语言来获取计算机的硬件信息,包括 CPU 序列号、主板编号、网卡编号等。这些信息可以通过使用 System.Management 命名空间来访问和管理。该命名空间提供了对大量...
在C#中,我们可以利用Windows API或者.NET Framework提供的类库来获取系统的进程信息。本示例代码旨在帮助初学者理解如何通过C#来实现这一功能。 首先,我们需要引入`System.Diagnostics`命名空间,这个命名空间...
在C#编程环境中,获取显卡(GPU)信息通常涉及到操作系统接口调用和硬件查询。以下是一些关于如何实现这一目标的关键知识点: 1. **硬件信息API**:C#本身并不直接提供获取硬件信息的内置功能,但可以利用Windows ...
C#系统信息类 1)可获取全部系统信息 2)可获取全部硬件信息 3)CPU , BIOS ,网络端口 ,串口 , USB 等硬件信息
在C#编程中,获取系统服务信息是常见的需求,这主要涉及到Windows操作系统的服务管理。本文将详细介绍如何通过C#代码来获取并操作系统的各种服务信息。 首先,我们需要引入`System.ServiceProcess`命名空间,这个...
在C#编程中,获取系统内存和CPU使用情况是常见的需求,这可以帮助开发者监控应用程序的性能,优化资源消耗,或者创建系统监控工具。本篇将详细介绍如何使用C#来实现这一功能。 首先,我们需要了解几个关键概念:CPU...
在C#编程中,获取系统硬件信息是一项常见的需求,这对于软件开发者来说至关重要,尤其是在开发需要与硬件交互的应用程序时。本教程将详细讲解如何利用C#来获取包括ID号、SKU在内的系统硬件信息,并鼓励读者根据示例...
在网上找设置/获取Windows操作系统音量的方法,要么只有设置的办法(通过SendMessageW发送增减音量、静音消息),要么只适用于Windows XP。找到的关于CoreAudioApi方式处理的方式,里面提供的dll已经失效...
《C#学生信息管理系统详解》 C#是一种广泛应用于软件开发的编程语言,尤其在Windows平台上,它以其高效、安全和面向对象的特性受到了开发者们的青睐。本项目“C#写的学生信息管理系统”是一个初学者入门级的示例,...
在C#编程环境中,开发WPF(Windows Presentation Foundation)应用程序时,有时我们需要获取用户的系统上已安装软件的信息,以便展示给用户或者进行某些系统分析。本文将深入探讨如何利用C#来读取注册表,获取并展示...
本文将深入探讨如何在C#中获取系统的文化和国家信息。 首先,我们需要知道在.NET框架中,`System.Globalization`命名空间提供了`CultureInfo`类,这个类是用来表示特定区域性的文化信息,包括语言、日期格式、数字...
在C#编程中,获取系统已经安装的字体并设置字体样式是常见的需求,尤其是在开发桌面应用或者图形用户界面时。本文将深入探讨如何通过C#实现这一功能。 首先,我们需要了解C#中处理字体的基本类——`FontFamily`。这...