DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como ler o Serial do Volume do HD?

É necessário estar declarado Windows e SysUtils na seção uses,
em versões unicode declare Winapi.Windows e System.SysUtils.

Abaixo segue o código fonte da função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function GetSerialNum(FDrive:String) :String;
var
  Serial : DWord;
  DirLen, Flags : DWord;
  DLabel : Array[0..11] of Char;
begin
  try
    Serial := 0;
    GetVolumeInformation(PChar(FDrive + ':\'), dLabel, 12, @Serial,
    DirLen, Flags, nil, 0);
    Result := IntToHex(Serial, 8);
  except
    Result := '00000000';
  end;
end;

Exemplos de uso

1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
begin
  // Lendo o serial do volume do Disco C.
  ShowMessage(GetSerialNum('C'));
 
  // Lendo o serial do volume do Disco D.
  ShowMessage(GetSerialNum('D'));
 
  // Caso não consiga ler a Unidade é retornado zeros
  ShowMessage(GetSerialNum('J'));
end;
Facebook Comments Box
  • InfusTec
  • 5.573 views
  • 1 comentários
  • 28 de março de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Uma resposta para “Como ler o Serial do Volume do HD?”

  1. Douglas disse:

    Boa tarde, o código funciona bem na maioria dos sistemas operacionais, mas alguns rodando windows 10 só retorna 00000000

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados