rluiz1708 0 Denunciar post Postado Abril 4, 2011 Boa tarde pessoal. Estou desenvolvendo um sistema com o VS2008, só que quero controlar quem está usando por um sistema de licenças. Funcionaria assim: após instalar o programa, no 1º uso, é gerado um código de ativação (somente com números). Esse código de ativação deveria ser enviado para meu e-mail. Após eu receber o código de ativação, ele seria transformado numa licença (nº de serie) onde cada número seria igual a uma letra qualquer (ex.: 154854 = AREQRE), e após a licença seria enviada por e-mail. O usuário colocaria a licença no programa, que validaria junto ao código de ativação. Após status registrado, não seria mais solicitado essas informações. Consegui fazer um código simples para gerar um código de ativação como abaixo: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim codativacao As Integer Dim GeradorDeCodigos As Random = New Random() codativacao = GeradorDeCodigos.Next txtcodativacao.Text = codativacao End Sub Mas minha dúvida é: como gravar esse número gerado (variável codativacao) para que quando o programa for iniciado novamente (para ativação junto a licença) seja o mesmo? Desde já agradeço! Compartilhar este post Link para o post Compartilhar em outros sites
rluiz1708 0 Denunciar post Postado Abril 4, 2011 Bom pessoal.... pesquisando um pouco mais aqui e em outros fóruns e utilizando o WMI Code Creator, descobri que poderia utilizar um serial de hardware ao invés de geral números aleatórios e ao utilizar o serial físico do hd poderia dar problemas em caso dele encontrar mais de um disco físico (ex.: impressoras com leitor de cartão fazem o Windows interpretá-la como um disco) e ai resolvi utilizar pelo Volume 'C:\' e um TextBox recebendo o valor. Segue o código (funcionando): Dim objQuery As New ObjectQuery("SELECT * FROM Win32_LogicalDisk WHERE Name = 'C:'") Dim mos As New ManagementObjectSearcher(objQuery) For Each mo As ManagementObject In mos.Get() txtcodativacao.Text = mo("VolumeSerialNumber").ToString() Next Compartilhar este post Link para o post Compartilhar em outros sites