利用API函数 GetVolumeInformation 获取盘区信息

*利用API函数:GetVolumeInformation 获取盘区信息 delphi_database (其中'卷序列号'就是每个分区的序列号) Clea #Define FILE_CASE_SENSITIVE_SEARCH 1 #Define FILE_CASE_PRESERVED_NAMES 2 #Define FILE_UNICODE_ON_DISK 4 #Define FILE_PERSISTENT_ACLS 8 #Define FILE_FILE_COMPRESSION 16 #Define FILE_VOLUME_IS_COMPRESSED 32768 && &H8000 Declare INTEGER GetLastError IN kernel32 Declare SHORT GetVolumeInformation IN kernel32; STRING lpRootPathName,; STRING @ lpVolumeNameBuffer,; INTEGER nVolumeNameSize,; INTEGER @ lpVolumeSerialNumber,; INTEGER @ lpMaximumComponentLength,; INTEGER @ lpFlags,; STRING @ lpFileSystemNameBuffer,; INTEGER nFileSystemNameSize lpRootPathName = "C:/" && 驱动器和目录名,此处可换成其他分区 lpVolumeNameBuffer = SPACE(256) && lpVolumeName 返回缓存 nVolumeNameSize = 256 && lpVolumeNameBuffer 的大小 lpVolumeSerialNumber = 0 && lpVolumeSerialNumber 缓存 lpMaximumComponentLength = 256 lpFileSystemFlags = 0 lpFileSystemNameBuffer = SPACE(256) nFileSystemNameSize = 256 lnResult = GetVolumeInformation(@lpRootPathName, @lpVolumeNameBuffer, ; nVolumeNameSize, @lpVolumeSerialNumber, ; @lpMaximumComponentLength, @lpFileSystemFlags, ; @lpFileSystemNameBuffer, nFileSystemNameSize) If lnResult = 1 ?"驱动器和目录名 : " + ALLTRIM(lpRootPathName) ?"卷名 : " + LEFT(ALLTRIM(lpVolumeNameBuffer),LEN(ALLTRIM(lpVolumeNameBuffer))-1) ?"卷名最大字符数 : " + ALLTRIM(STR(nVolumeNameSize)) ?"卷序列号 : " + ALLTRIM(STR(lpVolumeSerialNumber)) ?"文件/目录名的最大字符数 : " + ALLTRIM(STR(lpMaximumComponentLength)) ?"文件系统标记 : " + ALLTRIM(STR(lpFileSystemFlags)) ?"文件系统类型 : " + LEFT(ALLTRIM(lpFileSystemNameBuffer), LEN(ALLTRIM(lpFileSystemNameBuffer))-1) ?"文件系统名大小 : " + ALLTRIM(STR(nFileSystemNameSize)) Else ? "运行错误号: ", GetLastError() Endif Clea dlls Retu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值