计算机的硬盘编号为什么会变? 小弟弄了个软件,机器码是靠硬盘编号生成的。现在有这么个情况。一个用户去年安装了,今年也在用,可就在昨天还好好的,今天启动电脑机器码就变了。据用户说,也没有变更硬件,也没有安装硬件相关的驱动,也没重装系统。昨天只安装了个美图秀秀和搜狗拼音。然后就是插入了U盘。我最开始怀疑是否是U盘引起。让他把U盘取了,然后重启电脑再运行软件。但机器码还是没有变回来。我百思不得其解。还请各位帮忙看下有可能是什么问题,谢谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 硬盘编号,网卡mac地址都不是很可靠。 //获取物理(非逻辑)硬盘的出厂序列号 public static string GetHd(){ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher();wmiSearcher.Query = new SelectQuery("Win32_DiskDrive","",new string[] { "PNPDeviceID" });ManagementObjectCollection myCollection = wmiSearcher.Get();ManagementObjectCollection.ManagementObjectEnumerator em =myCollection.GetEnumerator();em.MoveNext();ManagementBaseObject mo = em.Current;string id = mo.Properties["PNPDeviceID"].Value.ToString().Trim();return id;} 关于C#调用C++动态库的句柄类型的问题 C# 涂抹效果 ConfigurationManager 在ASP.Net中怎么取 有关WPF的一个惊天大BUG!! 发财的机会到了!100W大单等待大家! 关于twain.dll的函数疑问,进者有分!不会的顶一下 请问vs2005中用C#调用C++的DLL怎么做呀 关于C#中 inline 的问题 多线程下载邮件 储存过程中能否使用类似数组的东西? 如何分解字符串,JSON 如何把DataGridView中的控件传到另一个窗口的DataGridView
public static string GetHd()
{
ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher();
wmiSearcher.Query = new SelectQuery(
"Win32_DiskDrive",
"",
new string[] { "PNPDeviceID" }
);
ManagementObjectCollection myCollection = wmiSearcher.Get();
ManagementObjectCollection.ManagementObjectEnumerator em =
myCollection.GetEnumerator();
em.MoveNext();
ManagementBaseObject mo = em.Current;
string id = mo.Properties["PNPDeviceID"].Value.ToString().Trim();
return id;
}