Nr do HD
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,
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
Curtidas 0
Respostas
Brnz
04/03/2004
Quanto ao HD... nem sei de nada...
Mas o numero do windows tem no registro... esse tem como recuperar...
Mas o numero do windows tem no registro... esse tem como recuperar...
GOSTEI 0
Baliza
04/03/2004
Se descobrirem como pegar o serie do windows me passem por favor !!!!
Ok Obrigado
Ok Obrigado
GOSTEI 0
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
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
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
danilo
GOSTEI 0
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
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
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
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
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