GARANTIR DESCONTO

Fórum Numero Serial do HD #206067

13/01/2004

0

Estou com problema no meu numero de serie dos meus programas, e para corrigi-lo, presciso pegar o numero de serie do HD. Utilizei aquela função SERIALNUM(), mas nao funcionou, ele esta mudando o numero. Hora aparece um numero, hora outro.


Estou prescisando com muita urgente.


Danilo :(


Baliza

Baliza

Responder

Posts

13/01/2004

Luineumann

tenho essa sintaxe para a função serialnum ... veja se bate com a sua

talvez o problema seja com a versão do windows (98, xp, etc)

Function SerialNum(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);
Except Result :=´´;
end;
end;


Responder

Gostei + 0

13/01/2004

Baliza

É a mesma função......já testei no windows NT/98 total de 3 máquinas e retorna numeros que nao sao permanentes....



obrigado......


Responder

Gostei + 0

13/01/2004

Maicongabriel

É esta a sua função ?

function SerialNum(FDrive : String) : String;
var
  Serial,
  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);
  except
    Result := ´´;
  end;
end;


Aqui ela funciona bem !
Qual a versão do Windows da maquina na qual você esta testando ?


Responder

Gostei + 0

13/01/2004

Maicongabriel

OPss , página desatualizada :oops:

Você disse que esta testando em 3 máquina, mas me deculpe a pergunta, os numeros não são igual entre as 3 ?
Ou na mesma máquina o resultado se modifica ?


Responder

Gostei + 0

13/01/2004

Salupe

Não sei se é esse o seu problema, mas se você estiver usando um programa em rede e com esta função tentar pegar o serial de um dos terminais e o executável estiver somente no servidor o número que ela pega será realmente variável.
Se for isso só o que você tem a fazer e colocar o executável em cada máquina.
Tirando isso o serial só muda se você formatar a máquina.

Falo Chefia.


Responder

Gostei + 0

13/01/2004

Baliza

OPss , página desatualizada :oops: Você disse que esta testando em 3 máquina, mas me deculpe a pergunta, os numeros não são igual entre as 3 ? Ou na mesma máquina o resultado se modifica ?


Nas 3 máquinas aparecem numeros diferentes, só que eles nao permanecem...ficam modificando quando vc fecha o aplicativo e abre novamente.


Responder

Gostei + 0

13/01/2004

Baliza

Não sei se é esse o seu problema, mas se você estiver usando um programa em rede e com esta função tentar pegar o serial de um dos terminais e o executável estiver somente no servidor o número que ela pega será realmente variável. Se for isso só o que você tem a fazer e colocar o executável em cada máquina. Tirando isso o serial só muda se você formatar a máquina. Falo Chefia.


Amigão..... eu quero o numero serial do HD e nao aquele numero do vol do HD, aquele XXXX-XXXX....... certo.


Responder

Gostei + 0

13/01/2004

Baliza

Presciso desta porque?!!!

Teve um cliente meu que clonou um hd para outro que tinha meu sistema. E com isso aquele numero do Volume vai junto, quando vc faz uma imagem do disco rígido.. Ai vcs já sabem do que isso pode acarretar.....varias e várias imagens....são várias ...várias piratarias..?????!!!!! :(


Presciso de ajuda!


Responder

Gostei + 0

13/01/2004

Salupe

E Você acha que a tua rotina pega o que? Camarada


Responder

Gostei + 0

13/01/2004

Baliza

E Você acha que a tua rotina pega o que? Camarada



pensava que esta função serialnum() retornaria o numero serial do HD.
NUMERO DE FÁBRICA.


Responder

Gostei + 0

13/01/2004

Salupe

No próprio comando que você pega o número já diz

Get[b]Volume[/b]Information


Responder

Gostei + 0

13/01/2004

Baliza

No próprio comando que você pega o número já diz Get[b:50ca3c57e1]Volume[/b:50ca3c57e1]Information



Não entendi amigo.....??????? :?:


Responder

Gostei + 0

13/01/2004

Salupe

Sinto muito discordar de você, mas esta tua rotina pega o número serial do volume do HD (como você diz), porque realmente a cada formatação ou se você pegar pelo programa (executável) estando em outro computador o número irá mudar.
Ou seja, esta rotina não pega o que você está querendo e da forma que você quer.


Responder

Gostei + 0

13/01/2004

Nigro

Até onde eu sei o Windows 2000 e o 98 têm o endereço de leitura do serial de fábrica em endereços diferentes. sendo preciso fazer uma função que deetecte o Windows utilizado, antes...


Responder

Gostei + 0

13/01/2004

Baliza

Até onde eu sei o Windows 2000 e o 98 têm o endereço de leitura do serial de fábrica em endereços diferentes. sendo preciso fazer uma função que deetecte o Windows utilizado, antes...



Vamos lá amigo.....me ajude, acho que vc me entendeu!!!!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar