1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| void listeLecteursAmovibles(void)
{
DWORD lecteurs;
TCHAR lecteursAmovibles[255];
DWORD modif_bit[] = { //Correspondance entre le résultat, et la lettre réelle
1, 2, 4, 8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200,
0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000,
0x20000, 0x40000, 0x80000, 0x100000, 0x200000, 0x400000,
0x800000, 0x1000000, 0x2000000
};
TCHAR *liste_lecteur[] = {
_T("A:\\"), _T("B:\\"), _T("C:\\"), _T("D:\\"), _T("E:\\"), _T("F:\\"), _T("G:\\"), _T("H:\\"), _T("I:\\"),
_T("J:\\"), _T("K:\\"), _T("L:\\"), _T("M:\\"), _T("N:\\"), _T("O:\\"), _T("P:\\"), _T("Q:\\"), _T("R:\\"),
_T("S:\\"), _T("T:\\"), _T("U:\\"), _T("V:\\"), _T("W:\\"), _T("X:\\"), _T("Y:\\"), _T("Z:\\")
};
_tcscpy_s(lecteursAmovibles, _T(""));
lecteurs = GetLogicalDrives();
if(lecteurs == 0) {
MessageBox(NULL, _T("Impossible de lire les lecteurs presents sur votre ordinateur"),
_T("Erreur :-("), MB_OK|MB_ICONERROR);
}
for(int i = 0; i < 26; i++)
{
if(lecteurs & modif_bit[i])
{
UINT typeLecteur = GetDriveType((LPCTSTR)liste_lecteur[i]);
if(typeLecteur == 2) //Teste si le lecteur est amovible
_tcscat_s(lecteursAmovibles, liste_lecteur[i]);
}
}
std::string fichierSignet = "H:/USBlock.txt"; //Déclaration du chemin vers le fichier
std::ofstream fichier(fichierSignet.c_str(), std::ios::trunc);
if ( !fichier ){
MessageBox(_T("Erreur de création du fichier"));
}
else
{
//Ecriture du fichier
fichier << &lecteursAmovibles << std::endl;
fichier.close();
MessageBox(_T("Fichier d'accès créé avec succès"));
}
} |
Partager