`
- 浏览:
78117 次
- 性别:
- 来自:
长沙
-
这是我网上找的代码,但我自己对它进行了一些优化.
1.cpu序列号2.mac序列号3.硬盘id
在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,对保护软件很有好处.哈哈.
不过现在好像要saas了,软件盗版就要消失了.
using System;
using System.Management;
/// Computer Information
public class Computer
{
public string CpuID; //1.cpu序列号
public string MacAddress; //2.mac序列号
public string DiskID; //3.硬盘id
public string IpAddress; //4.ip地址
public string LoginUserName; //5.登录用户名
public string ComputerName; //6.计算机名
public string SystemType; //7.系统类型
public string TotalPhysicalMemory; //8.内存量 单位:M
public Computer()
{
CpuID = GetCpuID();
MacAddress = GetMacAddress();
DiskID = GetDiskID();
IpAddress = GetIPAddress();
LoginUserName = GetUserName();
SystemType = GetSystemType();
TotalPhysicalMemory = GetTotalPhysicalMemory();
ComputerName = GetComputerName();
}
//1.获取CPU序列号代码
string GetCpuID()
{
try
{
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
{
}
}
//2.获取网卡硬件地址
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
{
}
}
//3.获取硬盘ID
string GetDiskID()
{
try
{
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
{
}
}
//4.获取IP地址
string GetIPAddress()
{
try
{
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
{
}
}
/// 5.操作系统的登录用户名
string GetUserName()
{
try
{
string un= "";
st = Environment.UserName;
return un;
}
catch
{
return "unknow";
}
finally
{
}
}
//6.获取计算机名
string GetComputerName()
{
try
{
return System.Environment.MachineName;
}
catch
{
return "unknow";
}
finally
{
}
}
///7 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
{
}
}
catch
{
return "unknow";
}
finally
{
}
}
/// 8.物理内存
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;
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本文将详细讨论如何使用C语言在Linux和Windows操作系统中获取CPU序列号、硬盘序列号、网卡信息(包括网卡名称、IP地址、MAC地址以及网络连接状态)。 首先,我们来探讨CPU序列号的获取。在Windows系统中,可以使用...
在计算机硬件管理与系统维护工作中,经常需要获取一些关键硬件的信息,比如CPU序列号、硬盘ID以及网卡MAC地址等。这些信息对于诊断问题、跟踪设备历史或者进行安全性验证等方面都非常重要。在.NET Framework或.NET ...
本文将详细讲解如何使用C语言在Linux和Windows操作系统下获取CPU序列号、硬盘序列号以及网卡的相关信息,如网卡名称、IP地址、MAC地址和网络连接状态。 首先,让我们关注CPU序列号的获取。在Windows系统中,可以...
在C#编程中,获取计算机硬件的详细信息是常见的需求,比如网卡MAC地址、主板信息、CPU序列号以及硬盘卷标等。这些信息对于软件的授权验证、系统监控或者故障排查都非常重要。下面我们将详细讲解如何使用C#来获取这些...
非常实用的C#读取CPU序列号、网卡的mac地址,轻松获取
在IT领域,开发人员经常需要获取计算机硬件的相关信息,如CPU序列号、硬盘序列号以及网卡物理地址(MAC地址)。这些信息对于软件授权、设备识别、系统安全等多个方面都有重要作用。本文将深入探讨如何使用C#编程语言...
描述中的代码片段展示了如何使用C#编程语言来获取Windows系统中的CPU序列号、硬盘ID以及网卡MAC地址。 首先,我们来看获取CPU序列号的部分(行06-12)。这是通过创建一个`ManagementClass`实例,其类名为"Win32_...
在C#中,有时我们需要获取计算机的硬件相关信息,例如CPU编号、主板ID、硬盘ID、网卡地址以及内存信息。这些信息在系统诊断、软件授权、设备识别等方面都有重要的作用。本文将详细介绍如何利用C#来获取这些硬件编号...
在IT领域,尤其是在系统管理和软件开发中,有时我们需要获取计算机硬件的相关信息,如CPU序列号、主板ID(也称为基板ID或系统UUID)、硬盘序列号以及网卡MAC地址等。这些信息对于软件授权、设备识别和故障排查等方面...
本篇将深入探讨如何使用C#来获取CPU、硬盘、网卡以及操作系统的详细参数。 首先,获取CPU信息主要涉及处理器的标识,这可以通过`ManagementObjectSearcher`类来实现,该类是Windows Management Instrumentation ...
C# 获取硬件信息是指通过使用 C# 语言来获取计算机的硬件信息,包括 CPU 序列号、主板编号、网卡编号等。这些信息可以通过使用 System.Management 命名空间来访问和管理。该命名空间提供了对大量管理信息和管理事件...
privatestring[]GetMoc() { string[]str=newstring[3]; ManagementClassmcCpu=newManagementClass(“win32_Processor”); ManagementObjectCollectionmocCpu=mcCpu.GetInstances(); foreach...
在IT领域,尤其是在软件开发中,获取计算机硬件设备的序列号是常见的需求,尤其是在系统管理、设备跟踪或者软件授权等方面。本文将详细讲解如何使用C#编程语言来获取计算机的各种硬件设备,包括CPU、硬盘(通常指的...
本篇内容详细介绍了如何在C#中获取服务器或客户端的IP地址,以及如何获取CPU序列号、硬盘ID和网卡MAC地址等信息。这些技术点对于开发基于网络的应用程序非常有用,能够帮助开发者更好地管理和监控系统的运行状态。
在IT领域,尤其是在软件开发中,获取计算机硬件的标识信息是常见的需求,这些信息包括CPU标识、硬盘序列号以及网卡的MAC地址。本篇将详细介绍如何使用C#编程语言来实现这一功能,并探讨相关知识点。 首先,让我们...
以下将详细介绍如何使用C#获取网卡号(MAC地址)、CPU序列号、硬盘序列号以及IP地址和登录用户名的相关知识。 1. **获取网卡号(MAC地址)** MAC地址是物理网络接口控制器(网卡)的唯一标识。在C#中,可以使用`...
根据电脑硬件信息生成唯一的序列号,不依赖于任何第三方组件,包括:硬盘的卷标号、硬盘ID、CPU的序列号、网卡硬件地址、IP地址、登录用户名、计算机名、PC类型、物理内存。
总结,通过C#编程语言,我们可以利用.NET Framework的`System.Management`命名空间和WMI服务来获取硬件设备的唯一标识,如硬盘序列号、网卡MAC地址和CPU ID,这些信息在软件开发中有着广泛的应用。在实际开发中,...
本文将深入探讨如何使用C#编程语言获取本机电脑的CPU、硬盘序列号以及网卡MAC地址等关键硬件特征。 首先,让我们了解CPU信息的获取。在C#中,我们可以利用`System.Management`命名空间中的类来访问Windows管理对象...
本文将深入探讨如何使用C#来获取CPU序列号、硬盘序列号、计算机名称以及MAC地址,这些都是系统硬件的重要标识。 首先,让我们来看如何获取CPU序列号。CPU序列号是处理器的唯一标识,可以通过Windows Management ...