1、C#.net中如何获得硬盘序列号(不是硬盘型号哟)
2、vs 2005.net程序可以在vista下运行吗?

解决方案 »

  1.   

    试试
    private string GetMoc()
            {
                string str = "";
                ManagementClass mcHD = new ManagementClass("win32_logicaldisk");
                ManagementObjectCollection mocHD = mcHD.GetInstances();
                foreach(ManagementObject m in mocHD)
                {
                    if(m["DeviceID"].ToString() == "C:")
                    {
                        str = m["VolumeSerialNumber"].ToString();
                        break;
                    }
                }
             }
      

  2.   

    vs   2005.net程序可以在vista下运行
      

  3.   


    ManagementObjectSearcher   searcher   =   new   ManagementObjectSearcher("SELECT   *   FROM   Win32_PhysicalMedia");   
    String   strHardDiskID   =   null   ;
    foreach (ManagementObject mo in searcher.Get())
    {
      strHardDiskID = mo["SerialNumber"].ToString().Trim();
      break;
    }
      

  4.   

    SerialNumber才是硬盘的物理序列号
      

  5.   

    末日之痕的代码可行.
    ManagementObjectSearcher   searcher   =   new   ManagementObjectSearcher("SELECT   *   FROM   Win32_PhysicalMedia");   
    String   strHardDiskID   =   null   ;
    foreach (ManagementObject mo in searcher.Get())
    {
      strHardDiskID = mo["SerialNumber"].ToString().Trim();
      break;
    }
    但是在vista下不正确.是不是在vista下 Win32_PhysicalMedia要修改?
      

  6.   


    需要在vista下能用的呀
      

  7.   

    获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)
    在很多情况下,你可能都需要得到微机的硬件信息。比如:你想给你的软件加锁,不让别人随便访问。本文可以获得CPU的序列号,硬盘有几个分区,每个分区各有多少剩余空间 ...
    另,VS2005的程序可以在Vista上允许,不过最好先考虑一下权限的问题
      

  8.   

    末日之痕 的代码可行,只是在vista下运行还不行呀,谁有办法?