#include <stdio.h>#include <windows.h>int main(){ // 获取当前所在的盘符,返回相应的位组成的整数值 DWORD bit = GetLogicalDrives(); // 以字符串的形式,返回当前系统中的所有盘符[重点] WCHAR szName[MAX_PATH] = { 0 }; GetLogicalDriveStrings(MAX_PATH, szName); for (int i = 0; szName[i] != '\0' && i < MAX_PATH; i++) { // 输出当前的盘符 OutputDebugString(&szName[i]); // 输出对应磁盘的类型 auto Type = GetDriveType(&szName[i]); if (DRIVE_FIXED == Type) OutputDebugString(L"\t 不可移动磁盘\n"); // 根据盘符名获取磁盘容量 DWORD 每簇扇区数 = 0; DWORD 扇区容量 = 0; DWORD 空闲簇 = 0; DWORD 所有簇 = 0; GetDiskFreeSpace(&szName[i], &每簇扇区数, &扇区容量, &空闲簇, &所有簇); printf(" 磁盘容量%.2f", (所有簇 / 1024.0) * 每簇扇区数 * 扇区容量 / 1024 / 1024); printf(" 空闲容量%.2f", (空闲簇 / 1024.0) * 每簇扇区数 * 扇区容量 / 1024 / 1024); printf("\n\n\n"); i += wcslen(&szName[i]); } return 0;}