using System;
using System.IO ;
using System.Runtime.InteropServices ;
using System.Text ;
using Microsoft.Win32;
namespace Wjb.ReadOrWriteIniAndReg
{
///
1<summary>
2/// HardDiskVal 的摘要说明。
3/// 读取指定盘符的硬盘序列号
4/// 功能:读取指定盘符的硬盘序列号
5/// </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
);
///
1<summary>
2
3/// 获得盘符为 drvID 的硬盘序列号,缺省为C
4
5/// </summary>
/// < param name=" drvID "> ///
1<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 ();
}
}
}