using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using Microsoft.Win32; namespace Wjb.ReadOrWriteIniAndReg { /// /// HardDiskVal 的摘要说明。 /// 读取指定盘符的硬盘序列号 /// 类库开发:吴剑冰 /// 时间:2003年10月20日 /// 功能:读取指定盘符的硬盘序列号 /// 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 ); /// /// 获得盘符为drvID的硬盘序列号,缺省为C /// /// /// 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(); } } }
转载于:https://www.cnblogs.com/linhai/archive/2006/05/19/404392.html