zoukankan      html  css  js  c++  java
  • 关于取硬盘序列号

    测试环境: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,有图有真像。

  • 相关阅读:
    (原)Lazarus 异构平台下多层架构思路、DataSet转换核心代码
    (学)新版动态表单研发,阶段成果3
    (学) 如何将 Oracle 序列 重置 清零 How to reset an Oracle sequence
    (学)XtraReport WebService Print 报错
    (原)三星 i6410 刷机 短信 无法 保存 解决 办法
    (原) Devexpress 汉化包 制作工具、测试程序
    linux下网络配置
    apache自带ab.exe小工具使用小结
    Yii::app()用法小结
    PDO使用小结
  • 原文地址:https://www.cnblogs.com/81/p/9763311.html
Copyright © 2011-2022 走看看