Nr do HD

Delphi

04/03/2004

Olá,

será que alguém saberia me informar se existe uma maneira do delphi recuperar o nr de série do HD do usuário?
ou então até mesmo o nr de série do windows que está sendo utilizado?

Obrigado,


Iurifernandes

Iurifernandes

Curtidas 0

Respostas

Brnz

Brnz

04/03/2004

Quanto ao HD... nem sei de nada...

Mas o numero do windows tem no registro... esse tem como recuperar...


GOSTEI 0
Baliza

Baliza

04/03/2004

Se descobrirem como pegar o serie do windows me passem por favor !!!!

Ok Obrigado


GOSTEI 0
Dmarski

Dmarski

04/03/2004

Colega... :

Declare a funcao,

function SerialNum(FDrive: string): string;

e depois :

function Tform.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;


... claro que vc ainda pode usar qualquer um dos pacotes usuais (tipo LMD Tools) que fornecem este tipo de recurso.

Abs


GOSTEI 0
Baliza

Baliza

04/03/2004

Esta função é muito ruim e acho q nao serve para o meu proposito pois se vc formatar a máquina o numero irá ser outro.......preciso de pega algum numero q nao mude nem com a formatacao


danilo


GOSTEI 0
Dmarski

Dmarski

04/03/2004

Olá Danilo... a função é perfeita... apenas talvez não sirva para os seus propósitos (risos).
Hum... se voce formatar o HD, você **sempre** terá um novo serial dela... vc está querendo é o serial (ID) da EPROM do HD ? Hum.. nesse caso vai ser bem mais complicado pois maquinas da DELL nao permitem este nivel de acesso (a Bios te bloqueia), e pior ainda, tem HDs mais antigas que nao tem isso na Eprom ou HDs de fabricantes diferentes que colocam esta info em posicoes diferentes na Eprom...

Se for para proteger algum software, vc pode utilizar outras tecnicas....

Abs


GOSTEI 0
Iurifernandes

Iurifernandes

04/03/2004

Se for para proteger algum software, vc pode utilizar outras tecnicas.... Abs


Isso seria interessante...
existe algum lugar que eu possa achar informações a respeito?


GOSTEI 0
Dmarski

Dmarski

04/03/2004

Hum.... adotamos a seguinte solucao em nosso ambiente de desenvolvimento (trabalho em uma softhouse) :

a) Usamos um banco de dados cliente-servidor (Sybase)
b) Criamos uma campo ´blob´ em uma tabela qq no server
c) ao usuario logar-se no meu sistema, crio uma entrada (criptografada no esquema chave primaria) com as infos do serial do HD e acrescento mais um registro no meu campo ´blob´ de minha tabela de controle.
d) permito que o usuario acesso um ´x´ numero de vezes antes de bloquear o acesso, nesse interim ele deve gerar um arquivo de ´licenciamento´ a partir de qualquer maquina da rede, ao recebermos este arquivo, verificamos se a licenca é valida e autenticamos (liberamos) ou nao o funcionamento do sistema naquele serial de HD.

Outra excelentissima opcao é usar o Proteq.

Abs


GOSTEI 0
POSTAR