Odczyt numeru seryjnego dysku

Aby odczytać numer seryjny dysku (w naszym przykładzie będzie to numer seryjny dyskietki):

Unit1.cpp

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   char aName[255] = "";
   char aFileSystem[255] = "";
   DWORD dwTemp;
   DWORD dwSerial;
   if (GetVolumeInformation("c:\\", aName, sizeof(aName),
                            &dwSerial, &dwTemp, &dwTemp,
                            aFileSystem, sizeof(aFileSystem)))
   {
      Label1->Caption = IntToStr(dwSerial);
   }
}

Możecie być trochę zdziwieni, ponieważ numer seryjny, który otrzymacie po wykonaniu tej funkcji będzie się różnił od tego, który widać przy oglądaniu właściwości dysku np. w Eksploratorze, ponieważ w tych właściwościach numer dysku jest zapisany w systemie szesnastkowym, a powyższa funkcja zwraca ten sam numer tylko w systemie dziesiętnym.