现在的位置: 首页 > 综合 > 正文

获取硬盘相应序列号

2013年10月21日 ⁄ 综合 ⁄ 共 1522字 ⁄ 字号 评论关闭

using System;
using Microsoft.Win32;
using System.Globalization;
using System.Runtime;
using System.Runtime.InteropServices;
using System.Text;
using System.IO;
 
namespace HKH.Common
{
 /// <summary>
 /// Summary description for clsIDE.
 /// </summary>
 public class clsIDE
 {
  /// <summary>
  /// 获取硬盘相应分区的序列号
  /// </summary>
  /// <returns></returns>
  public static string GetAllSerialNumber()
  {
   string Dri = "";

   System.Management.ManagementClass mo = new System.Management.ManagementClass("Win32_LogicalDisk");
    
   System.Management.ManagementObjectCollection mc = mo.GetInstances();

   foreach (System.Management.ManagementObject m in mc)
   {
    if (Convert.ToString(m.Properties["DriveType"].Value) == "3")
    {
     Dri = Dri + m.Properties["VolumeSerialNumber"].Value.ToString() + "/n";
    }
   }

   Dri = Dri.Substring(0, Dri.Length - 1);

   return Dri;
  }

  /// <summary>
  /// 获取硬盘相应分区的序列号
  /// </summary>
  /// <param name="Drive">盘符(如 C)</param>
  /// <returns></returns>
  public static string GetSpecialVolumeSerialNumber(string Drive)
  {
   string Dri = "";

   System.Management.ManagementClass mo = new System.Management.ManagementClass("Win32_LogicalDisk");
    
   System.Management.ManagementObjectCollection mc = mo.GetInstances();

   foreach (System.Management.ManagementObject m in mc)
   {
    if (Convert.ToString(m.Properties["DriveType"].Value) == "3")
    {
     if (m.Properties["Name"].Value.ToString().ToUpper().Trim().Substring(0, 1) == Drive.ToUpper().Trim())
     {
      Dri = Dri + m.Properties["VolumeSerialNumber"].Value.ToString();

      break;
     }
    }
   }

   return Dri;
  }

  private clsIDE()
  {
  }

 }
}
 

抱歉!评论已关闭.