Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mazinha

nº do HD

Recommended Posts

Q função q eu uso pra q o meu programa só rode em determinada mákina?

Eu tenho um programinha q descobre o nº do HD e eu naum quero q o mesmo seja distribuído pra outras mákinas. Intaum, eu quero criar uma função q "registre" aquele HD no programa e assim q ele for aberto faça a verificação do nº. Se naum for o mesmo regitrado, o prog naum roda.

Entenderam o q q eu tô querendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o melhor que deves fazer e verificar o nº do HD e salvá-lo criptografado numa Tabela qualquer...Crie uma rotina que verificar o nº do HD quando o programa é iniciado...Eu fiz desta maneira e funcionou perfeitamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bueno...dá um trabalhinho, mas vamos lá...

 

Vamos precisar de:

1. Módulo de Conexão com o Banco de Dados

2. Formulário Splash (ou outro que se inicia com o programa)

3. Função que compara os números do HD

 

1. Módulo (Fiz uma em ADO)

' -----------------------------------

' MÓDULO CONEXÃO

' 1. Declarações Gerais

' 2. Conexão com o Banco de Dados

' -----------------------------------

 

'1. DECLARAÇÕES GERAIS

Public Conexao As ADODB.Connection

 

'2. CONEXÃO COM O BANCO DE DADOS

Public Sub ConexaoBD()

Set Conexao = New ADODB.Connection

 

'Define a Localização e evento de abertura do DataBase

Conexao.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = " & C:\Banco de Dados

 

'Permissão para Ler e Escrever registros

Conexao.Mode = adModeReadWrite

 

'Abre a Conexão

Conexao.Open

End Sub

 

 

2. Formulário Splash

Bom, supondo que há em uma tabela (chamarei de TabChave) e um campo que (chamarei de NumHD) onde constará o número do HD já cadastrado (a criptografia fica por ti)

 

Na declaração de Variáveis

dim rsValida as ADODB.Recordset

 

No load do formulário

ConexaoBD 'Conecta-se ao Banco de Dados

 

Call ValidaNumHD 'Função que valida o número do HD

 

 

3. Rotina para validar o número do HD

public sub ValidaNumHD()

dim NumeroHD as String 'Extraído do computador do usuário como string

dim mSQL as String 'Parâmetro para a consulta

 

set rsValida = new ADODB.recordset

 

mSQL = Select NumHD FROM TabChave WHERE NumHD = '" & NumeroHD & "'"

 

rsValida.open mSQL, Conexao, adOpenKeyset, adLockOptimistic

 

'Compara os números de HD's

if rsValida.EOF or rsValida.BOF then 'neste caso, se falso

msgbox "Número do HD Inválido"

 

else 'Neste caso, se verdadeiro (óbvio)

msgbox "Número de HD OK"

'Aqui você chamaria a tela de login ou alguma outra

end if

end sub

 

 

Espero que tenhas te ajudado, não ficou muito otimizado, mas fiz agora na correria, pois já tive um problema muito parecido com este...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.