Outils pour utilisateurs

Outils du site


fr:available_drives

Liste de tous les disques disponibles

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);
}
fr/available_drives.txt · Dernière modification: 2012/05/16 20:45 par navy57