1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

HDD Serial Number

Discussão em 'Programação' iniciada por guilherme, 8 de Julho de 2008. (Respostas: 3; Visualizações: 1116)

  1. guilherme

    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: 9 de Julho de 2008
  2. balute

    balute Power Member

    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.
     
  3. kazuza

    kazuza Power Member

  4. balute

    balute Power Member

    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.
     

Partilhar esta Página