Numero Serial do HD
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 :(
Estou prescisando com muita urgente.
Danilo :(
Baliza
Curtidas 0
Respostas
Luineumann
13/01/2004
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;
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;
GOSTEI 0
Baliza
13/01/2004
É a mesma função......já testei no windows NT/98 total de 3 máquinas e retorna numeros que nao sao permanentes....
obrigado......
obrigado......
GOSTEI 0
Maicongabriel
13/01/2004
É esta a sua função ?
Aqui ela funciona bem !
Qual a versão do Windows da maquina na qual você esta testando ?
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 ?
GOSTEI 0
Maicongabriel
13/01/2004
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 ?
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 ?
GOSTEI 0
Salupe
13/01/2004
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.
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.
GOSTEI 0
Baliza
13/01/2004
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.
GOSTEI 0
Baliza
13/01/2004
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.
GOSTEI 0
Baliza
13/01/2004
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!
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!
GOSTEI 0
Salupe
13/01/2004
E Você acha que a tua rotina pega o que? Camarada
GOSTEI 0
Baliza
13/01/2004
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.
GOSTEI 0
Salupe
13/01/2004
No próprio comando que você pega o número já diz
Get[b]Volume[/b]Information
Get[b]Volume[/b]Information
GOSTEI 0
Baliza
13/01/2004
No próprio comando que você pega o número já diz
Get[b:50ca3c57e1]Volume[/b:50ca3c57e1]Information
Não entendi amigo.....??????? :?:
GOSTEI 0
Salupe
13/01/2004
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.
Ou seja, esta rotina não pega o que você está querendo e da forma que você quer.
GOSTEI 0
Nigro
13/01/2004
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...
GOSTEI 0
Baliza
13/01/2004
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!!!!!!
GOSTEI 0
Marco Salles
13/01/2004
Tópico Errado.Desculpe-me
GOSTEI 0
Nigro
13/01/2004
Enviei uma MP
GOSTEI 0
Marco Salles
13/01/2004
Balisa Escreveu:´Nas 3 máquinas aparecem numeros diferentes, só que eles nao permanecem...ficam modificando quando vc fecha o aplicativo e abre novamente´
Marco :Altere Um ´Pouco´ a Função ´SerialNum´ e o Número Do ´Volume´
Do Hd Ficara Fixo.A Princípio Se o Usuário Formatar a Máquina Ou
Trocar o Sistema Operacional Este Númerio Irá Mudar.Mas aí Nada
Que Uma Boa Assistência Não Resolva.A Alteração Que Sugiro é
Simples e Pode Dar Resultado.
function SerialNum : String;
var
Serial,
DirLen,
Flags : DWord;
DLabel : Array[0..11] of Char;
begin
try
GetVolumeInformation(´C:\´),
dLabel, 12, @Serial,
DirLen, Flags, nil, 0 );
Result := IntToHex(Serial, 8);
except
Result := ´´;
end;
end;
Marco :Altere Um ´Pouco´ a Função ´SerialNum´ e o Número Do ´Volume´
Do Hd Ficara Fixo.A Princípio Se o Usuário Formatar a Máquina Ou
Trocar o Sistema Operacional Este Númerio Irá Mudar.Mas aí Nada
Que Uma Boa Assistência Não Resolva.A Alteração Que Sugiro é
Simples e Pode Dar Resultado.
function SerialNum : String;
var
Serial,
DirLen,
Flags : DWord;
DLabel : Array[0..11] of Char;
begin
try
GetVolumeInformation(´C:\´),
dLabel, 12, @Serial,
DirLen, Flags, nil, 0 );
Result := IntToHex(Serial, 8);
except
Result := ´´;
end;
end;
GOSTEI 0
Baliza
13/01/2004
[quote:c0cb5cb161=´Marco Salles´]Balisa Escreveu:´Nas 3 máquinas aparecem numeros diferentes, só que eles nao permanecem...ficam modificando quando vc fecha o aplicativo e abre novamente´
Marco :Altere Um ´Pouco´ a Função ´SerialNum´ e o Número Do ´Volume´
Do Hd Ficara Fixo.A Princípio Se o Usuário Formatar a Máquina Ou
Trocar o Sistema Operacional Este Númerio Irá Mudar.Mas aí Nada
Que Uma Boa Assistência Não Resolva.A Alteração Que Sugiro é
Simples e Pode Dar Resultado.
function SerialNum : String;
var
Serial,
DirLen,
Flags : DWord;
DLabel : Array[0..11] of Char;
begin
try
GetVolumeInformation(´C:\´),
dLabel, 12, @Serial,
DirLen, Flags, nil, 0 );
Result := IntToHex(Serial, 8);
except
Result := ´´;
end;
end;[/quote:c0cb5cb161]
Cara! retornou o numero de serie do HD.....quero capturar o ID de fabrica>>??????
Marco :Altere Um ´Pouco´ a Função ´SerialNum´ e o Número Do ´Volume´
Do Hd Ficara Fixo.A Princípio Se o Usuário Formatar a Máquina Ou
Trocar o Sistema Operacional Este Númerio Irá Mudar.Mas aí Nada
Que Uma Boa Assistência Não Resolva.A Alteração Que Sugiro é
Simples e Pode Dar Resultado.
function SerialNum : String;
var
Serial,
DirLen,
Flags : DWord;
DLabel : Array[0..11] of Char;
begin
try
GetVolumeInformation(´C:\´),
dLabel, 12, @Serial,
DirLen, Flags, nil, 0 );
Result := IntToHex(Serial, 8);
except
Result := ´´;
end;
end;[/quote:c0cb5cb161]
Cara! retornou o numero de serie do HD.....quero capturar o ID de fabrica>>??????
GOSTEI 0
Marco Salles
13/01/2004
Balisa Escreveu :Estou com problema no meu numero de serie dos meus programas, e para corrigi-lo, presciso pegar [color=red:3f71c8b04d]o numero de serie do HD.[/color:3f71c8b04d] Utilizei aquela função SERIALNUM(), mas nao funcionou, ele esta mudando o numero. Hora aparece um numero, hora outro.
Balisa Escreveu:Cara! retornou o numero de serie do HD.....[color=red:3f71c8b04d]quero capturar o ID de fabrica>>??????[/color:3f71c8b04d]
Eu Não Sugeri O Id De Fabrica, Eu Apenas Sugeri Como Fazer Para O Numero De Série Ficar Fixo.[color=red:3f71c8b04d]Que Foi a Sua Primeira Queixa[/color:3f71c8b04d]. Achei Que Voce Conseguindo Fixar o Numero De Série Resolveria Em Partes Teu Problema.Levantei Ainda Que Este Número Mudaria Na Formatação e/ou Mudanca Do S.O.Mas Aí Seria Por Conta Do Usuário e Voce Deveria Efetuar Uma Manutenção.
P:s O Tópico Que V.c Quer O ´I.D De Fábrica´ é Outro Tópico.Eu Não
Respondi O Outro Tópico.Falei.
Balisa Escreveu:Cara! retornou o numero de serie do HD.....[color=red:3f71c8b04d]quero capturar o ID de fabrica>>??????[/color:3f71c8b04d]
Eu Não Sugeri O Id De Fabrica, Eu Apenas Sugeri Como Fazer Para O Numero De Série Ficar Fixo.[color=red:3f71c8b04d]Que Foi a Sua Primeira Queixa[/color:3f71c8b04d]. Achei Que Voce Conseguindo Fixar o Numero De Série Resolveria Em Partes Teu Problema.Levantei Ainda Que Este Número Mudaria Na Formatação e/ou Mudanca Do S.O.Mas Aí Seria Por Conta Do Usuário e Voce Deveria Efetuar Uma Manutenção.
P:s O Tópico Que V.c Quer O ´I.D De Fábrica´ é Outro Tópico.Eu Não
Respondi O Outro Tópico.Falei.
GOSTEI 0
Baliza
13/01/2004
[quote:3639e56b66=´Marco Salles´]Balisa Escreveu :Estou com problema no meu numero de serie dos meus programas, e para corrigi-lo, presciso pegar [color=red:3639e56b66]o numero de serie do HD.[/color:3639e56b66] Utilizei aquela função SERIALNUM(), mas nao funcionou, ele esta mudando o numero. Hora aparece um numero, hora outro.
Balisa Escreveu:Cara! retornou o numero de serie do HD.....[color=red:3639e56b66]quero capturar o ID de fabrica>>??????[/color:3639e56b66]
Eu Não Sugeri O Id De Fabrica, Eu Apenas Sugeri Como Fazer Para O Numero De Série Ficar Fixo.[color=red:3639e56b66]Que Foi a Sua Primeira Queixa[/color:3639e56b66]. Achei Que Voce Conseguindo Fixar o Numero De Série Resolveria Em Partes Teu Problema.Levantei Ainda Que Este Número Mudaria Na Formatação e/ou Mudanca Do S.O.Mas Aí Seria Por Conta Do Usuário e Voce Deveria Efetuar Uma Manutenção.
P:s O Tópico Que V.c Quer O ´I.D De Fábrica´ é Outro Tópico.Eu Não
Respondi O Outro Tópico.Falei.[/quote:3639e56b66]
Obrigado amigo......
Balisa Escreveu:Cara! retornou o numero de serie do HD.....[color=red:3639e56b66]quero capturar o ID de fabrica>>??????[/color:3639e56b66]
Eu Não Sugeri O Id De Fabrica, Eu Apenas Sugeri Como Fazer Para O Numero De Série Ficar Fixo.[color=red:3639e56b66]Que Foi a Sua Primeira Queixa[/color:3639e56b66]. Achei Que Voce Conseguindo Fixar o Numero De Série Resolveria Em Partes Teu Problema.Levantei Ainda Que Este Número Mudaria Na Formatação e/ou Mudanca Do S.O.Mas Aí Seria Por Conta Do Usuário e Voce Deveria Efetuar Uma Manutenção.
P:s O Tópico Que V.c Quer O ´I.D De Fábrica´ é Outro Tópico.Eu Não
Respondi O Outro Tópico.Falei.[/quote:3639e56b66]
Obrigado amigo......
GOSTEI 0
Marco Salles
13/01/2004
Disponha Amigo....
GOSTEI 0