HDD Serial Number

guilherme

Power Member
C#

Neste momento estou a usar um método que dada uma Drive (por ex C) ele devolve o serial volume.

Código:
public string GetVolumeSerial(string strDriveLetter)
{
	if( strDriveLetter=="" || strDriveLetter==null) strDriveLetter="C";
	ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter +":\"");
	disk.Get();
	return disk["VolumeSerialNumber"].ToString();
}

mas o que eu realmente queria era um método que recebesse à mesma 1 drive como parametro e devolvesse o numero de fabricante, unico para cada disco,
sendo que o volume de cada drive muda cada vez que se formata uma drive.
Se alguém puder ajudar agradeço
 
Última edição pelo moderador:
Assim estás a obter o serial number do volume, e não da drive. A plataforma .NET não possui nenhum método que permita obter o da drive. Precisas de usar a API DeviceIoControl (na biblioteca kernel32.dll) para obter várias informações sobre a drive, e gerar o serial a partir desses dados. Mais info no Google.
 
Pela WMI vais ter muitas dificuldades em pôr a funcionar para todos os casos possíveis, principalmente em versões do Windows anteriores ao XP, em particular ao 2000 (que não incluem, por defeito, os serviços WMI) e no Vista por causa do UAC.
 
Back
Topo