现在的位置: 首页 > 综合 > 正文

如何得到磁盘的分区格式,如 fat32,ntfs等

2013年12月05日 ⁄ 综合 ⁄ 共 1943字 ⁄ 字号 评论关闭

声明外部函数

function boolean GetVolumeInformationA(ref string ls_rootpath,ref string ls_volumnename,ulong lul_volumenamesize,ref ulong lul_volumeserialnumber,ref ulong lul_maximumcomponentlength,ref ulong lul_filesystemflags,ref string ls_filesystemnamebuffer,ulong lul_filesystemnamesize) library "kernel32.dll"/

 

程序中的代码

 

string ls_rootpath, ls_volumnename
//ls_rootpath = "c:" // 指定要得到序列号的硬盘,
ls_rootpath = "c:/" // 指定要得到序列号的硬盘,

// 一般情况都是c盘,除非你能保证用户存在其它逻辑盘或物理盘

ls_volumnename = space(256) // 分配足够的空间,下同
ulong lul_volumenamesize
lul_volumenamesize = 256
ulong lul_volumeserialnumber, lul_maximumcomponentlength, lul_filesystemflags

lul_maximumcomponentlength = 256
string ls_filesystemnamebuffer
ls_filesystemnamebuffer = space(256)
ulong lul_filesystemnamesize
lul_filesystemnamesize = 256

getvolumeinformationa(ls_rootpath, ls_volumnename, lul_volumenamesize, lul_volumeserialnumber, lul_maximumcomponentlength, lul_filesystemflags, ls_filesystemnamebuffer, lul_filesystemnamesize)

ls_filesystemnamebuffer//这里存的就是磁盘的格式

关于函数getvolumeinformationa的说明

 

GetVolumeInformation

VB声明
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
说明
获取与一个磁盘卷有关的信息
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpRootPathName String,欲获取信息的那个卷的根路径
lpVolumeNameBuffer String,用于装载卷名(卷标)的一个字串
nVolumeNameSize Long,lpVolumeNameBuffer字串的长度
lpVolumeSerialNumber Long,用于装载磁盘卷序列号的变量
lpMaximumComponentLength Long,指定一个变量,用于装载文件名每一部分的长度。例如,在“c:/component1/component2.ext”的情况下,它就代表component1或component2名称的长度
lpFileSystemFlags Long,用于装载一个或多个二进制位标志的变量。对这些标志位的解释如下:
FS_CASE_IS_PRESERVED 文件名的大小写记录于文件系统
FS_CASE_SENSITIVE 文件名要区分大小写
FS_UNICODE_STORED_ON_DISK 文件名保存为Unicode格式
FS_PERSISTANT_ACLS 文件系统支持文件的访问控制列表(ACL)安全机制
FS_FILE_COMPRESSION 文件系统支持逐文件的进行文件压缩
FS_VOL_IS_COMPRESSED 整个磁盘卷都是压缩的
lpFileSystemNameBuffer String,

 

抱歉!评论已关闭.