using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using Microsoft.Win32; namespace Wjb.ReadOrWriteIniAndReg { /**//// /// 读取指定盘符的硬盘序列号 /// publicclass HardDiskVal { [DllImport("kernel32.dll")] privatestaticexternint GetVolumeInformation( string lpRootPathName, string lpVolumeNameBuffer, int nVolumeNameSize, refint lpVolumeSerialNumber, int lpMaximumComponentLength, int lpFileSystemFlags, string lpFileSystemNameBuffer, int nFileSystemNameSize ); /**//// /// 获得盘符为drvID的硬盘序列号,缺省为C /// /// /// publicstring HDVal(string drvID) { constint 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(); } publicstring HDVal() { constint 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(); } }