利用API函数 GetVolumeInformation 获取盘区信息
2006-08-16 08:10
603 查看
*利用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
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
相关文章推荐
- 使用GetVolumeInformation获取硬盘信息
- c# API使用GetVolumeInformation函数获取硬盘信息
- GetVolumeInformation获取磁盘信息与DeviceIoControl获取硬盘信息
- GetVolumeInformation获取磁盘信息与DeviceIoControl获取硬盘信息
- WinAPI: GetVolumeInformation - 读取文件系统信息
- 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)
- 如何获取网卡相关信息(包括mac, ip, mask, gateway等)?---利用GetAdaptersInfo
- 利用cURL来获取网页信息-Using cURL to get webpage content
- 获取磁盘类型及剩余空间 GetDiskFreeSpaceEx GetDriveTypeW GetVolumeInformation
- WinAPI: GetVolumeInformation - 读取文件系统信息
- 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)
- [转] HTML5利用WebRTC的getUserMedia获取摄像头信息模拟拍照及视频(完整示例)
- 利用cURL来获取网页信息-Using cURL to get webpage content
- vc获取卷标 GetVolumeInformation
- GetVolumeInformation来得到磁盘序列号等信息
- 获取CPU处理器信息(GetLogicalProcessorInformation)
- winform利用API函数获取系统的信息
- SQL 利用INFORMATION_SCHEMA系统视图如何一步一步获取表的主外键信息
- winform利用API函数获取系统的信息
- 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)