.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
关于硬盘序列号的类

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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();

         }

     }

}




相关文章

相关软件