关于取硬盘序列号
测试环境:win7 64位
参考:http://www.cnblogs.com/lenmom/p/8556611.html
方法1,结果:5VP9MZ60
ManagementClass mc = new ManagementClass("Win32_PhysicalMedia");
//网上有提到,用Win32_DiskDrive,但是用Win32_DiskDrive获得的硬盘信息中并不包含SerialNumber属性。
ManagementObjectCollection moc = mc.GetInstances();
string strID = null;
foreach (ManagementObject mo in moc)
{
strID = mo.Properties["SerialNumber"].Value.ToString();
break;
}
textBox1.Text += "硬盘 ID:" + strID;
方法2,结果:4031371149,同方法3,此是10进制。
ManagementObjectSearcher mos = new ManagementObjectSearcher();
mos.Query = new SelectQuery("Win32_DiskDrive", "", new string[] { "PNPDeviceID", "Signature" });
ManagementObjectCollection myCollection = mos.Get();
ManagementObjectCollection.ManagementObjectEnumerator em = myCollection.GetEnumerator();
em.MoveNext();
ManagementBaseObject moo = em.Current;
string id = moo.Properties["Signature"].Value.ToString().Trim();
this.textBox1.Text = id;
方法3,结果:F049D78D,同方法2,一个是10进制,一个是16进制
CMD指令:diskpart,具体操作方法百度查。
方法4,结果:5VP9MZ60
使用软件:Everest.exe
四种方法,共有两个结果,哪个是对的呢?
其实网上除了c#托管代码读硬盘号外,还有一些win32做好的dll,测试下来也是5VP9MZ60,甚至有人说普通权限运行和管理员权限运行得到的结果也不一样。
最终还是把电脑打开自己看,结果显示,S/N: 5VP9MZ60,有图有真像。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)