点击我的电脑 --> 资源管理器 --> 每一个盘右击都有一些属性 (文件系统、配额、文件名的长度 等等)都可以用这两个API函数去获取
#include <stdio.h>
#include <Windows.h>
#include <stdlib.h>
BOOL GetDriveInfo(LPSTR szDrive)
{
UINT uDriveType;
uDriveType = GetDriveType(szDrive);
switch (uDriveType)
{
case DRIVE_UNKNOWN:
printf("The drive cannot be determined\n");
break;
case DRIVE_NO_ROOT_DIR:
printf("The root path is invalid\n");
break;
case DRIVE_REMOVABLE:
printf("The drive is a type that has removable media, like a floppy disk\n");
break;
case DRIVE_FIXED:
printf("The drive is a type that cannot be removed, like a fixed disk\n");
break;
case DRIVE_REMOTE://remote 是远程的 遥远的意思。。。
printf("The drive is a remote (network) drive\n");
break;
case DRIVE_CDROM:
printf("The drive is a CD_ROME drive\n");
break;
case DRIVE_RAMDISK:
printf("The drive is a RAM disk\n");
break;
default:
break;
}
CHAR szDriveName[MAX_PATH];
DWORD dwVolumeSerialNumber;
DWORD dwMaximumComponentLength;
DWORD dwFileSystemFlags;
CHAR szFileSystemNameBuffer[MAX_PATH];
if (!GetVolumeInformation(szDrive,
szDriveName,
MAX_PATH,
&dwVolumeSerialNumber,
&dwMaximumComponentLength,
&dwFileSystemFlags,
szFileSystemNameBuffer,
MAX_PATH
))
{
return FALSE;
}
if (0 != lstrlen(szDriveName))
{
printf("\nDrive Name ; %s\n", szDriveName);
}
else
printf("\nIt has no Drive Name\n");
printf("\nVolume Serial Number is %u", dwVolumeSerialNumber);
printf("\nMaximum Component Length is %u", dwMaximumComponentLength);
printf("\nSystem Type is %s", szFileSystemNameBuffer);
printf("\n");
return TRUE;
}
int main()
{
GetDriveInfo(TEXT("c:\\"));
system("pause");
return 0;
}