不一定用C# 用VB,DOS命令等都可以!

解决方案 »

  1.   

    物理序列号不可修改,
    只可以读取:下面是读取的程序:(引自陈建华)
    Private Declare Function GetVolumeInformation Lib "kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As LongPublic Type SerHdInfo
    strLabel As String
    strType As String
    serNum As String
    End TypePublic Function GetSerialNumber(sRoot As String) As SerHdInfo
    Dim lSerialNum As Long
    Dim R As Long
    Dim RevVal As SerHdInfo
    RevVal.strLabel = String$(255, Chr$(0))
    ' 磁盘卷标
    RevVal.strType = String$(255, Chr$(0))
    ' 文件系统类型
    R = GetVolumeInformation(sRoot, strLabel, Len(strLabel), lSerialNum, 0, 0, strType, Len(strType))
    RevVal.serNum = lSerialNum '序列号
    GetSerialNumber = RevVal
    End Function
      

  2.   

    http://www.pediy.com/bbshtml/BBS3/FORUM108.HTM