关于硬盘序列号的类

类别:.NET开发 点击:0 评论:0 推荐:

using System;
using
System.IO;
using
System.Runtime.InteropServices;
using
System.Text;
using
Microsoft.Win32;

namespace
Wjb.ReadOrWriteIniAndReg
{
     /// <summary>
     /// HardDiskVal 的摘要说明。
     /// 读取指定盘符的硬盘序列号
     /// 功能:读取指定盘符的硬盘序列号
     /// </summary>
     public class HardDiskVal
     {
         [DllImport("kernel32.dll")]
         private static extern int GetVolumeInformation(

              string  lpRootPathName,

              string  lpVolumeNameBuffer,

              int  nVolumeNameSize,

              ref int  lpVolumeSerialNumber,

              int  lpMaximumComponentLength,

              int  lpFileSystemFlags,

              string  lpFileSystemNameBuffer,

              int  nFileSystemNameSize

              );

         /// <summary>

         /// 获得盘符为drvID的硬盘序列号,缺省为C

         /// </summary>

         /// <param name="drvID"></param>

         /// <returns></returns>

         public string HDVal(string drvID)

         {

              const int MAX_FILENAME_LEN = 256;

              int retVal = 0;

              int a =0;

              int b =0;

              string str1 = null;

              string str2 = null;

              int i = GetVolumeInformation(

                   drvID + @":\",

                   str1,

                   MAX_FILENAME_LEN,

                   ref retVal,

                   a,

                   b,

                   str2,

                   MAX_FILENAME_LEN

                   );

              return retVal.ToString();

         }

         public string HDVal()

         {

              const int MAX_FILENAME_LEN = 256;

              int retVal = 0;

              int a =0;

              int b =0;

              string str1 = null;

              string str2 = null;

              int i = GetVolumeInformation(

                   "c:\\",

                   str1,

                   MAX_FILENAME_LEN,

                   ref retVal,

                   a,

                   b,

                   str2,

                   MAX_FILENAME_LEN

                   );

              return retVal.ToString();

         }

     }

}

本文地址:http://com.8s8s.com/it/it45088.htm