游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3938|回复: 4

取得磁盘序列号、卷标和文件系统类型 (转帖)

[复制链接]

79

主题

288

帖子

619

积分

高级会员

Rank: 4

积分
619
发表于 2004-2-22 06:03:00 | 显示全部楼层 |阅读模式
来自2001-11-08· · ··yesky


  磁盘序列号在每次软盘或硬盘格式化后都重新生成,并且不回重复。许多程序员用此加密。其实也可以修改该函数,可以得到磁盘卷标和文件系统类型信息。

  声明:

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 Long


  代码:

Function GetSerialNumber(sRoot As String) As Long
    Dim lSerialNum As Long
    Dim R As Long
    Dim sTemp1 As String, sTemp2 As String
    strLabel = String$(255, Chr$(0))
  '  磁盘卷标
    strType = String$(255, Chr$(0))
  ' 文件系统类型 一般为 FAT
    R = GetVolumeInformation(sRoot, strLabel, Len(strLabel), lSerialNum, 0, 0, strType, Len(strType))
    GetSerialNumber = lSerialNum
  '在 strLabel 中为 磁盘卷标
  '在 strType  中为 文件系统类型
End Function



  用法:

  当驱动器不存在时,函数返回 0。如果是个非根目录,也将返回 0:

lSerial = GetSerialNumber("c:\")  

[em17] [em21] [em21] [em21]

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2004-2-22 15:06:00 | 显示全部楼层

Re:取得磁盘序列号、卷标和文件系统类型 (转帖)

VB?

79

主题

288

帖子

619

积分

高级会员

Rank: 4

积分
619
 楼主| 发表于 2004-2-22 16:00:00 | 显示全部楼层

Re:取得磁盘序列号、卷标和文件系统类型 (转帖)

是 啊

40

主题

211

帖子

225

积分

中级会员

Rank: 3Rank: 3

积分
225
发表于 2004-2-22 17:41:00 | 显示全部楼层

Re:取得磁盘序列号、卷标和文件系统类型 (转帖)

请问怎么恢复硬盘分区表和boot?(我没有做备份)

有没有相关程序
能具体说一下吗?:)

20

主题

100

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2004-7-29 15:37:00 | 显示全部楼层

Re:取得磁盘序列号、卷标和文件系统类型 (转帖)

这不是 取得序列号,只是卷标罢了,卷标一格式化就变...没有实际意义
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-4 11:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表