Protegendo o Seu Trabalho Da Pirataria
Protegendo o Seu Trabalho Da Pirataria
Protegendo o Seu Trabalho Da Pirataria
http://www.macoratti.net/locking.htm
1 de 5
16/6/2010 08:35
http://www.macoratti.net/locking.htm
Quando voc inicia o projeto , um formulrio de registro aparece solicitando que voc informe a chave para liberao do sistema. O formulrio em tempo de projeto mostrado a seguir:
2 de 5
16/6/2010 08:35
http://www.macoratti.net/locking.htm
Se o usurio estiver dentro do perodo de avaliao definido o sistema ir rodar normalmente. Se o perodo de avaliao expirou o sistema emite uma mensagem avisando ao usurio e encerra o aplicativo. Quer saber qual a mgica ? Bem , a coisa mais simples do que imagina. Vamos analisar o cdigo do mdulo .bas do projeto , e-lo a seguir : Option Explicit ' This sample project requires ActiveLock control ' You may download ActiveLock free of charge at ' http://www.insite.com.br/~nferraz/activelock Sub Main() Load frmRegister Load Calculator With frmRegister.ActiveLock1 ' Se o usurio registrado exibe o formulrio principal If .RegisteredUser Then Calculator.Show Else ' Se o usurio no esta registrado, verifica ' se ele alterou a data do sistema If .LastRunDate > Now Then MsgBox "ActiveLock detectou que voc alterou a data do sistema !..." End End If ' Verifica o perodo de avaliao If .UsedDays < 30 Then frmRegister.Show 1 Calculator.Show Else 'Se perodo expirou avisa o usurio e sai MsgBox "Seu periodo de avaliao terminou , Registre-se...!" Unload frmRegister Unload Calculator End If End If End With End Sub A primeira coisa que o cdigo verifica se o usurio um usurio registrado, isto feito atravs da
3 de 5
16/6/2010 08:35
http://www.macoratti.net/locking.htm
propriedade -
RegisteredUser.
Esta propriedade retorna um valor Boleano (Sim/No) indicando se o software foi registrado ou no. Um usurio estar efetivamente registrado quando informar uma Chave de Liberao LiberationKey - vlida. A chave de liberao depende do cdigo do Sofware - SoftwareCode - e da Senha - Password ; e fornecida por voc ao usurio que deseja se registrar. Quando o usurio instala o seu aplicativo a ele atribudo um SoftwareCode nico que o identifica. Mesmo aps o sistema ser desinstalado o cdigo do Software permanece no sistema . Voc exibe o cdigo de identificao do usurio da seguinte forma: Label1.Caption = "O seu SoftwareCode : " & ActiveLock1.SoftwareCode
Voc define uma senha para cada aplicativo que desenvolver via cdigo da seguinte maneira: ActiveLock1.Password = "ALEPH" Obs: Parece que uma nova verso do ActiveLock no utiliza mais a propriedade Password. A identificao do aplicativo agora feita pela propriedade SoftwareName. Para gerar a Chave de liberao - LiberationKey - para o usurio , portanto , voc vai precisar da Password e do SoftwareCode. As chaves de liberao so geradas pelo KeyGenerator - um programa que distribudo junto com o ActiveLock e que tambm gratis. Para verificar o perodo de avaliao usamos a propriedade - UseDays: Ela retorna um valor do tipo longo que indica o nmero de dias que o sistema foi utilizado. Voc utiliza a propriedade da seguinte forma: If (ActiveLock1.UsedDays > 21) Then MsgBox "Your evaluation period has expired! Please register!" End If Observe que o perodo definido em : ActiveLock1.UsedDays > 21 . Basta informar o valor desejado para o perodo de avaliao em dias. Voc deve usar esta propriedade junto com a propriedade RegisteredUser - que verifica se o usurio esta registrado para no If Not (ActiveLock1.RegisteredUser) And ActiveLock1.UsedDays > 21 Then MsgBox "Seu periodo de avaliao terminou...!" End If E se algum espertinho alterar a data do sistema ? A propriedade LastRunDate ir cuidar dele... Esta propriedade retorna uma valor do tipo data que indica a data que o programa foi usado pela ltima vez. Ela deve ser usada em conjunto com a propriedade UseDays para evitar que os espertinhos alterem a data do sistema e estendam o perodo de avaliao. If (ActiveLock1.LastRunDate > Now) Then MsgBox "Por favor corrija a data do sistema para continuar..." End End If
4 de 5
16/6/2010 08:35
http://www.macoratti.net/locking.htm
Assim se voc quiser que o seu sistema rode somente dez vezes na mquina do cliente use o cdigo a seguir: If (ActiveLock1.Counter > 10) Then MsgBox "Voc j executou a verso Demo 10 vezes , registre-se..." End End If Faltou falar da propriedade
: SoftwareName
Ela atribui um nome nico para cada programa que voc desenvolver. Tenha a certeza de atribuir um nome nico e diferente para cada sistema para criar verses diferentes.
5 de 5
16/6/2010 08:35