Cet extrait de code est originaire de l'ancien site WinAPI www.winapi.net
Parfois, vous devez connaitre tous les disques logiques.WinAPI vous le permet avec la fonction GetLogicalDrives()
. Elle renvoie un masque de bit à analyser. Voici l'exemple à suivre:
#include <windows.h> #include <tchar.h> #include <shlwapi.h> #include <stdio.h> #ifndef BITSPERBYTE #define BITSPERBYTE 8 #endif #define IS_BIT(val, bit) ((val) & (1 << (bit))) int _tmain(void) { DWORD dwLogicalDrives, x; TCHAR szRoot[32]; dwLogicalDrives = GetLogicalDrives(); for(x = 0; x < (sizeof(dwLogicalDrives) * BITSPERBYTE); x++) { if(IS_BIT(dwLogicalDrives, x)) { PathBuildRoot(szRoot, x); _tprintf(TEXT("%s - DriveType: 0x%08X\n"), szRoot, GetDriveType(szRoot)); } } return(0); }