Haciendo una
pequeña búsqueda aparecen varios resultados....
Aquí uno de ellos...
Por suerte o por desgracia; aquí se vive Delphi en estado puro...
Código:
BOOL Drive::SerialNumber(DWORD *plngResult)
{
LPTSTR VolumeNameBuffer = "";
DWORD VolumeSerialNumber;
DWORD MaximumComponentLength;
DWORD FileSystemFlags;
LPTSTR FileSystemNameBuffer = "";
DWORD FileSystemNameSize;
LPTSTR *pVolumeNameBuffer;
DWORD *pVolumeSerialNumber;
DWORD *pMaximumComponentLength;
DWORD *pFileSystemFlags;
DWORD *pFileSystemNameSize;
pVolumeNameBuffer = &VolumeNameBuffer;
pVolumeSerialNumber = &VolumeSerialNumber;
pMaximumComponentLength = &MaximumComponentLength;
pFileSystemFlags = &FileSystemFlags;
pFileSystemNameSize = &FileSystemNameSize;
BOOL MyResult = GetVolumeInformation("c:\\", VolumeNameBuffer, 100, pVolumeSerialNumber, pMaximumComponentLength, pFileSystemFlags, FileSystemNameBuffer, 100);
if (MyResult = TRUE)
{
*plngResult = VolumeSerialNumber;
}
return MyResult;
}