Fórum segurança #254538

15/10/2004

0

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

Responder

Posts

15/10/2004

Xanatos

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?


Responder

Gostei + 0

15/10/2004

Anicetojunior

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...


Responder

Gostei + 0

15/10/2004

Paulo_amorim

Olá

Pode-se guardar no registro do Windows..

Até+


Responder

Gostei + 0

15/10/2004

Vinicius2k

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+


Responder

Gostei + 0

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

Aceitar