CPU序列号,硬盘ID,网卡硬件地址。 这三个数据是一直不变的 疑问 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 网卡硬件地址是指MAC地址吧?这个貌似是可以改的。CPU序列号,硬盘ID这2个应该是不能改,除了生产厂商。 我说的网卡硬件地址就是指MAC地址。这个有时会变吗? 网卡的MAC地址是可以用工具修改的楼主想要一个唯一标示一台机器的字段吧 是的,楼上的,用CPU序列号,硬盘ID,网卡硬件地址加起来做的唯一标识大多机器是不变的,但也存在几台机器是会变的。可惜就是不能在那几台机器上调试。 我不太赞成“加起来形成唯一标示”的做法如果万一用户通过工具修改了MAC地址,就会破坏验证机制 用户没有修改MAC地址,我是用户登录后注册成功,退出再登录就看到注册没成功,因为用CPU序列号,硬盘ID,网卡硬件地址加起来做的唯一标识又变了。这问题在公司的机器上没发现过,但在客户那就出现几次了,我们公司的机器都不能上INTERTEK,只能上公司的内部网 网卡的MAC地址一定是不可改变的,尽管可以恶意的修改但是结果却是另一台与之有相同MAC地址的机子上不了网, 网卡物理地址不能改,MAC地址可以改,默认情况下网卡物理地址就是MAC地址。但如果改动了MAC地址,两个就不一样了 1.CPU序列号,AMD的CPU是没有的现在INTEL的CPU,除非用户主动在BIOS里面打开查询CPU 序列号的功能,否则OS不能直接取到,除非用非法手段,用托管代码取不到2.硬盘序列号,不是每家硬盘厂商都是有序列号的,有特定系列的硬盘,取出来的都是一样的,也有可能根本取不到,报错,无法访问逻辑驱动器,并且这个也和BIOS设置相关3:网卡MAC号倒是可以,但是这个太好换了(硬件),软件方面,只需要修改注册表就能修改MAC号码,如果是主动修改,可以用生成器生成一个唯一的MAC号码,重复机率很小 关于CPU序列号,AMD的CPU取出来的都是一样的 我找到原因了。是硬盘ID的问题,当插入U盘并与机器连接时取的硬盘ID就有问题,断开后就正常了。谢谢大家帮助,散分!大家都有^_^ using System;using System.Runtime.InteropServices;using System.Management;namespace Hardware{ public class HardwareInfo { /// <summary> /// 得到硬盘序号 /// </summary> public string GetHDId() { string strHardInfo = ""; ManagementClass cimObject = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection mocHard = cimObject.GetInstances(); foreach (ManagementObject moHard in mocHard) { strHardInfo += moHard["Model"].ToString() + "_"; } return strHardInfo.Substring(0, strHardInfo.Length - 1); } /// <summary> /// 得到CPU序号 /// </summary> public string GetCPUId() { ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); string strCpuID = null; foreach (ManagementObject mo in moc) { strCpuID = mo.Properties["ProcessorId"].Value.ToString(); break; } return strCpuID; } }}我正在研究PocketPC里获得硬件信息,现还未有结果。以上代码是在台式机下面可以实向的,你可试试! dataset中多个表他们的主从关系怎么确定啊 关于delegate的问题,请高手帮忙 请教小程序 C#中关于HRESULT的异常出错,试了很多方法,不起作用,希望大家能够帮助解决,最好是能调试成功的,谢谢了! 字符串操作的效率问题 (急)将 COM 对象与其基础 RCW 分开后不能再使用该对象 急求,javascript读XML的问题. ShowDialog与Show的奇怪问题 ASP.NET刷新问题,急!!! C#用控件DATAWINDOW连SQL联不上(用ODBC连) 从gridview中获取guid类型的ID label的内容怎么让它不超过设定的边框就换行
CPU序列号,硬盘ID这2个应该是不能改,除了生产厂商。
但如果改动了MAC地址,两个就不一样了
using System.Runtime.InteropServices;
using System.Management;namespace Hardware
{
public class HardwareInfo
{
/// <summary>
/// 得到硬盘序号
/// </summary>
public string GetHDId()
{
string strHardInfo = "";
ManagementClass cimObject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection mocHard = cimObject.GetInstances();
foreach (ManagementObject moHard in mocHard)
{
strHardInfo += moHard["Model"].ToString() + "_";
}
return strHardInfo.Substring(0, strHardInfo.Length - 1);
} /// <summary>
/// 得到CPU序号
/// </summary>
public string GetCPUId()
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
}
}
我正在研究PocketPC里获得硬件信息,现还未有结果。以上代码是在台式机下面可以实向的,你可试试!