Ferramentas de Utilizador

Ferramentas de Site


pt:available_drives

Listar todos os drives disponíveis

Este code snippet é originário do site WinAPI www.winapi.net

Às vezes você precisa saber quais são os drives lógicos. A WinAPI nos fornece essa informação através da função GetLogicalDrives(). Ela retorna uma bit mask que deverá se analisada. Aqui está um exemplo de como fazer:

#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);
}
pt/available_drives.txt · Esta página foi modificada pela última vez em: 2008/06/10 01:08 por crl