using System;
using System.Management;
namespace SHJ
{
///
/// Computer Information
///
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
{
//获取网卡Mac地址
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
{
}
}
///
/// 操作系统的登录用户名
///
///
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
{
}
}
///
/// PC类型
///
///
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
{
}
}
///
/// 物理内存
///
///
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
{
}
}
///
/// 计算机名称
///
///
string GetComputerName()
{
try
{
return System.Environment.GetEnvironmentVariable("ComputerName");
}
catch
{
return "unknow";
}
finally
{
}
}
}
}
分享到:
相关推荐
本文将详细讨论如何使用C语言在Linux和Windows操作系统中获取CPU序列号、硬盘序列号、网卡信息(包括网卡名称、IP地址、MAC地址以及网络连接状态)。 首先,我们来探讨CPU序列号的获取。在Windows系统中,可以使用...
本篇内容详细介绍了如何在C#中获取服务器或客户端的IP地址,以及如何获取CPU序列号、硬盘ID和网卡MAC地址等信息。这些技术点对于开发基于网络的应用程序非常有用,能够帮助开发者更好地管理和监控系统的运行状态。
以下将详细介绍如何使用C#获取网卡号(MAC地址)、CPU序列号、硬盘序列号以及IP地址和登录用户名的相关知识。 1. **获取网卡号(MAC地址)** MAC地址是物理网络接口控制器(网卡)的唯一标识。在C#中,可以使用`...
根据电脑硬件信息生成唯一的序列号,不依赖于任何第三方组件,包括:硬盘的卷标号、硬盘ID、CPU的序列号、网卡硬件地址、IP地址、登录用户名、计算机名、PC类型、物理内存。
### C#与ASP.NET中获取客户端硬盘序列号和网卡MAC地址 在现代软件开发中,尤其是涉及到系统安全、授权管理等场景时,获取客户端硬件信息(如硬盘序列号、网卡MAC地址)的需求十分常见。本文将详细介绍如何在C#结合...
本文将详细讲解如何使用C#编程语言来获取计算机的各种硬件设备,包括CPU、硬盘(通常指的是硬盘接口,如SATA或NVMe设备的ID)以及网卡的序列号。 首先,我们要了解什么是序列号。序列号是一种唯一标识硬件设备的...
在IT领域,获取系统硬件信息是常见的需求,例如CPU序列号、硬盘序列号以及网络接口卡(网卡)的MAC地址。这些信息在软件激活、系统安全检测、硬件故障排查等方面都有重要作用。以下是对这些概念的详细解释: 1. **...
"C#利用网卡来绑定软件"是一种常见的技术手段,它通过获取计算机的网络适配器(网卡)的物理地址(MAC地址)来实现软件的唯一绑定。这种方法基于每个网卡都有一个全球唯一的MAC地址这一特性,可以确保软件只能在特定...
在IT领域,硬件ID通常指的是计算机的唯一标识符,它由硬件组件如硬盘、主板、网卡等的物理特征组合而成。在C#编程中,获取硬件ID可以帮助开发者实现一些特定的功能,例如软件授权、设备追踪或者系统识别。下面将详细...
3. 网卡MAC地址:MAC(Media Access Control)地址是网卡的物理地址,用于局域网内的设备识别。它是一个48位的二进制数,通常分为6个字节,用冒号或破折号分隔。获取MAC地址可以使用命令行(如Windows的`getmac`,...
在C#编程环境中,获取计算机的MAC(Media Access Control)地址,也就是网卡序列号,是常见的需求之一。MAC地址是网络设备的物理地址,用于在网络中唯一标识一个设备。以下将详细介绍C#中获取MAC地址的实现原理及...
- **网卡信息**:通过查询`Win32_NetworkAdapterConfiguration`类,可以获取网卡的MAC地址、IP地址、子网掩码等网络配置信息。 - **操作系统信息**:利用`OperatingSystem`类可以获取OS名称、版本、架构等信息。 ...
在现代软件开发过程中,有时候我们需要获取运行环境中的硬件信息,比如CPU序列号、硬盘ID以及网卡的MAC地址等,这些信息对于系统监控、设备识别或者安全验证等方面具有重要意义。本文将详细介绍如何使用C#来读取这些...
对于网卡信息,我们可以查询Win32_NetworkAdapterConfiguration类,获取每个网络适配器的详细信息,如IP地址、MAC地址、DNS服务器等。通过循环遍历此类的所有实例,可以列出所有连接的网络设备及其配置。 硬盘信息...
获取电脑硬件信息:用户操作系统、IE浏览器版本号、内存、CPU、硬盘编号、网卡Mac地址、cpu编号、主板编号、IP地址
在开发过程中,有时候我们需要获取计算机的基本硬件信息,比如CPU序列号、硬盘型号以及网卡的MAC地址等。这些信息对于系统管理、设备识别甚至是某些安全验证场合都非常有用。本文将详细介绍如何使用C#语言通过`...
根据给定的信息,我们可以...以上介绍了如何使用C#来读取计算机的硬件信息,包括CPU信息、硬盘序列号和MAC地址等。这些知识对于开发人员来说是非常实用的,能够帮助他们在开发过程中更好地理解和处理与硬件相关的任务。
在C#编程中,获取计算机信息是常见的任务,这包括CPU信息、MAC地址、硬盘ID、IP地址、登录用户名、计算机名、系统类型以及总物理内存等。以下将详细介绍如何使用C#实现这些功能。 首先,为了实现这些功能,我们需要...
- **获取以太网卡的MAC地址**:在C#中,可以使用System.Net.NetworkInformation类的NetworkInterface类获取本地机器的MAC地址。 - **以太网数据帧的监听与分析**:可以使用第三方库,如Wireshark或自定义程序,...