HD fisico OK HD label?

Delphi

24/11/2006

[color=red:6005a7a0d6]Título editado por Massuda Por favor, não use apenas letras maiúsculas no título/texto[/color:6005a7a0d6]

Olá

Para capturar o numero fisico do HD utilizo uma função disponilizada aqui no forum , feita por um russo ,que funciona beleza.

Porém para capturar o label do HD, que muda a cada formatação uttilizo a função abaixo

Function SNum(FDrive:String):String;
Var
Serial:DWord;
DirLen,Flags: DWord;
DLabel : Array[0..11] of Char;
begin
Try GetVolumeInformation(PChar(FDrive+´:\´),dLabel,12,@Serial,DirLen,Flags,nil,0);
Result := IntToHex(Serial,8);//este éo original
//Result := IntToSTR(serial);// este é uma variação que fiz.Uso ou uma ou outra nunca as duas
Except Result :=´´;
end;
end;

Para chamar a função
Coloquei no evento on show do form principal
edit2.text:=SNum(FDrive);

E também coloquei em um speedbutton.

O problema é que no evento onshow da um resultado DIFERENTE do evento clic do button , sempre (???).
Alguém sabe a razão?


Rm

Rm

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

24/11/2006

amigão, testei aqui e dá a mesma coisa...
testei no OnCreate, OnShow, Button tudo dá a mesma coisa...


GOSTEI 0
Paullsoftware

Paullsoftware

24/11/2006

esqueci...
concluindo, essa rotina retorna o serial lógico e não o fisíco!


GOSTEI 0
Rm

Rm

24/11/2006

Colega Massuda.Obrigado por ter editado o título.Percebi depois que enviei.Minhas desculpas a todos.

Colega paullsoftware.Obrigado por sua colaboração.Vou dar uma revisada aqui e ver o que está acontecendo.

Sim é o serial lógico.A rotina do serial físico peguei aqui no forum e funciona beleza.

Obrigado pela atenção.


GOSTEI 0
POSTAR