segurança

Delphi

15/10/2004

oi galera eu to com a seguinte questao
eu desenvolvi um sistema p/ windows e vendi uma licença para o cliente,mas o problema e o seguinte,se o usuario compartilhar a pasta aonde estar o meu programa e um outro usuario na rede executar o programa irá funcionar corretamente,como que eu faço para que meu programa execute somente uma vez ? nao permitindo que um usuario na rede execute esse programa ?


Anicetojunior

Anicetojunior

Curtidas 0

Respostas

Xanatos

Xanatos

15/10/2004

Talvez pegando o nome da maquina que o executou pela primeira vez e armazenar esse nome dentro do executavel ou no proprio banco.

para pegar o nome do computador:
Uses Registry; 
function TForm1.Getcomputer : string; 
var 
registro : tregistry; 
begin 
registro:=tregistry.create; 
registro.RootKey:=HKEY_LOCAL_MACHINE; 
registro.openkey(´System\CurrentControlSet\Services\VXD\VNETSUP´,false); 
result:=registro.readstring(´ComputerName´); 
end;


na rede nao havera nomes iguais...certo?


GOSTEI 0
Anicetojunior

Anicetojunior

15/10/2004

certo, não havera nomes iguais na rede,qual a sua opiniao,guardar no proprio executavel ou no banco ?

p/ mim guardar no executavel como eu guardaria ?

obrigado...


GOSTEI 0
Paulo_amorim

Paulo_amorim

15/10/2004

Olá

Pode-se guardar no registro do Windows..

Até+


GOSTEI 0
Vinicius2k

Vinicius2k

15/10/2004

p/ mim guardar no executavel como eu guardaria ?

Não dá para guardar no próprio executável que está em execução... Vc precisaria de um outro .exe que fizesse a gravação no .exe principal da aplicação usando as APIs relacionadas à UpdateResource... Neste tópico tem um exemplo de uso destas APIs : http://delphiforum.icft.com.br/forum/viewtopic.php?t=49251
O melhor é fazer como o Amorim sugeriu, ´esconda´ no registro do windows, apesar de ser uma proteção ´clássica´ é eficiente para usuários normais.

T+


GOSTEI 0
POSTAR