小弟弄了个软件,机器码是靠硬盘编号生成的。现在有这么个情况。一个用户去年安装了,今年也在用,可就在昨天还好好的,今天启动电脑机器码就变了。据用户说,也没有变更硬件,也没有安装硬件相关的驱动,也没重装系统。昨天只安装了个美图秀秀和搜狗拼音。然后就是插入了U盘。我最开始怀疑是否是U盘引起。让他把U盘取了,然后重启电脑再运行软件。但机器码还是没有变回来。我百思不得其解。还请各位帮忙看下有可能是什么问题,谢谢了。

解决方案 »

  1.   

    硬盘编号,网卡mac地址都不是很可靠。
      

  2.   

    //获取物理(非逻辑)硬盘的出厂序列号  
    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;