获取硬盘序列号

作者: Robin 分类: Asp.net 发布时间: 2008-07-09 12:15

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

/// <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 static 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();
    }
}

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签云