<1> 获取卷 GetLogicalDrives()
#include "stdafx.h" #include "windows.h" VOID Test() { DWORD dwLogicalDrives = GetLogicalDrives() ; printf("%d",dwLogicalDrives); } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }如图是12,换算成二进制 1100,从右往左,0代表这个盘没有,1代表这个盘有
<2> 获取一个所卷的盘符的字符串 GetLogicalDriveStrings()
#include "stdafx.h" #include "windows.h" VOID Test() { DWORD dwMaxLength = 100;//获取长度最大值 char szBuffer[100];//提供一个缓冲 GetLogicalDriveStrings(dwMaxLength ,szBuffer); } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }如图获取卷的盘符的字符串
<3> 获取卷的类型 GetLogicalDrives()
<4> 获取卷的信息 GetVolumeInformation()
#include "stdafx.h" #include "windows.h" VOID Test() { TCHAR szVolumneName[260] = {0}; DWORD dwVolumneSerial = 0; DWORD dwMaxLength = 0 ; DWORD dwFileSystem = 0; TCHAR szFileSystem[260] = {0}; GetVolumeInformation ( "c:\\", //IN 磁盘驱动器代码字符串 szVolumneName, //OUT 磁盘驱动器卷标名称 260, //IN 磁盘驱动器卷标名称长度 &dwVolumneSerial, //OUT 磁盘驱动器卷标序列号(不是硬盘序列号) &dwMaxLength , //OUT 系统允许的最大文件名长度 &dwFileSystem , //OUT 文件系统标识 szFileSystem, //OUT 文件操作系统名称 260 //IN 文件操作系统名称长度 ); printf("Name:%s\nSerial:%X\nLength:%d\nFileSystem:%X \\ %s\n",szVolumneName,dwVolumneSerial,dwMaxLength ,dwFileSystem,szFileSystem); } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }