Olá a todos deste forum maravilhoso. Amigos eu já pesquisei por aqui e também na internet em geral, mas não obtive êxito no que eu quero. Eu tou querendo um código em VBA que ao abrir um formulário ele verifique se há um determinada chave de registro no windows e se não existir essa chave, que ele crie automaticamente. Espero ansioso a ajuda de vocês, pois já passei muito tempo pesquisando e o que eu encotrei não foi satisfatório.
2 participantes
[Resolvido]Chave de Registro no Windows
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº1
Chave de Registro no Windows
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº2
Re: [Resolvido]Chave de Registro no Windows
Já pesquisou pelo termo vba regwrite?
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº3
Re: [Resolvido]Chave de Registro no Windows
coloquei no forum aqui em pesquisa avançada, mas não retornou nada, apareceu só a mensagem "Nenhum tópico ou mensagem foi encontrado usando estes critérios" se vc tiver o link aqui do forum falando sobre isso, agradeço
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº4
Re: [Resolvido]Chave de Registro no Windows
Leia todo esse tópico, dando atenção especial à mensagem n° 13. Nesse, a intenção era ler o registro do Windows para ver se existia uma entrada para iniciar um programa automaticamente. Caso a entrada existisse, nada a fazer, caso contrário, criaria-a. Pare ler, utilizamos o RegRead. Se a entrada existir, tudo tranquilo. Se não existir, será gerado um erro. Utilizando o número desse erro, sabemos que a entrada não existe ainda e então utilizamos o RegWrite para criá-la.
Tente adaptar a ideia.
Tente adaptar a ideia.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº5
Re: [Resolvido]Chave de Registro no Windows
Mestre Críquio eu tentei adaptar seu código dessa maneira abaixo, mas não deu certo:
Private Sub Form_Load()
Dim Reg As Object
Set Reg = CreateObject("wscript.shell")
Sit = Reg.RegRead("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\bd3")
If Sit = "Nothing" Then
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", bd3.mdb
Else
MsgBox "você não tem permissão"
End If
End SubEnd Sub
Private Sub Form_Load()
Dim Reg As Object
Set Reg = CreateObject("wscript.shell")
Sit = Reg.RegRead("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\bd3")
If Sit = "Nothing" Then
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", bd3.mdb
Else
MsgBox "você não tem permissão"
End If
End SubEnd Sub
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº6
Re: [Resolvido]Chave de Registro no Windows
Tentei novamente usando abaixo:
Private Sub Form_Load()
On Error GoTo TErro
Dim Reg As Object
Set Reg = CreateObject("wscript.shell")
Sit = Reg.RegRead("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\bd3")
Set Reg = Nothing
TErro:
If Err.Number = -2147024894 Then
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", bd3.Form_Formulário1
Else
MsgBox "você não tem permissão"
End If
End Sub
Só que apareceu erro em tempo de execução 13, tipos incompatíveis, ficando destacado na depuração a linha:
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", bd3.Form_Formulário1
Private Sub Form_Load()
On Error GoTo TErro
Dim Reg As Object
Set Reg = CreateObject("wscript.shell")
Sit = Reg.RegRead("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\bd3")
Set Reg = Nothing
TErro:
If Err.Number = -2147024894 Then
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", bd3.Form_Formulário1
Else
MsgBox "você não tem permissão"
End If
End Sub
Só que apareceu erro em tempo de execução 13, tipos incompatíveis, ficando destacado na depuração a linha:
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", bd3.Form_Formulário1
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº7
Re: [Resolvido]Chave de Registro no Windows
O que exatamente você quer fazer? Ao que parece quer fazer abrir um formulário do aplicativo quando aberto. É isso? Ser for, pode fazer isso de forma mais simples, nas preferências do Access para o banco atual ou em uma macro AutoExec.
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº8
Re: [Resolvido]Chave de Registro no Windows
O que eu quero é o seguinte: Quando formulário principal for aberto que seja verificado se existe uma determinada chave de registro, se não existir que ele crie essa chave para que na próxima vez ele já não abra mais.
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº9
Re: [Resolvido]Chave de Registro no Windows
entendi sobre o que você falou de formulário, eu mudei o código e coloquei esse abaixo, o nome do meu banco é bd3 só que agora quando abro o formulário tá informando método ou membro de dados não encontrados, sendo que ele destaca o erro no bd3.
Private Sub Form_Load()
On Error GoTo TErro
Dim Reg As Object
Set Reg = CreateObject("wscript.shell")
Sit = Reg.RegRead("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\bd3")
Set Reg = Nothing
TErro:
If Err.Number = -2147024894 Then
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", CurrentDb.bd3
Else
MsgBox "você não tem permissão"
End If
End Sub
Private Sub Form_Load()
On Error GoTo TErro
Dim Reg As Object
Set Reg = CreateObject("wscript.shell")
Sit = Reg.RegRead("HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\bd3")
Set Reg = Nothing
TErro:
If Err.Number = -2147024894 Then
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", CurrentDb.bd3
Else
MsgBox "você não tem permissão"
End If
End Sub
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº10
Re: [Resolvido]Chave de Registro no Windows
Parece que agora vai dá certo, o problema é que eu tinha que deixar Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", CurrentDb.Name
criquio- Moderador Global
- Respeito às regras :
Sexo :
Localização :
Mensagens : 11229
Registrado : 30/12/2009
- Mensagem nº11
Re: [Resolvido]Chave de Registro no Windows
Se você quer apenas passar o nome bd3, coloque ele diretamente:
Ou se quer passar o nome do aplicativo, de forma a servir para qualquer outro sem precisar alterar o nome, coloque assim:
- Código:
...
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\bd3"
...
Ou se quer passar o nome do aplicativo, de forma a servir para qualquer outro sem precisar alterar o nome, coloque assim:
- Código:
...
Reg.RegWrite "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & Left(CurrentProject.Name, InStr(CurrentProject.Name, ".") - 1)
...
.................................................................................
Meu novo site: www.vcssistemas.com.br Clique aqui e veja um vídeo que explica como fazer pesquisas no forum. DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo: 1 - faça uma cópia do aplicativo 2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar 3 - use o Compactar/Reparar 4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem) Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário. Positive as mensagens que achar útil, no canto superior direito delas. |
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº12
Agradecimentos
Críquio deu certo aqui do jeito que eu queria, um abraço e muito obrigado pela ajuda. Agradeço também a todos do forum que trabalham constantemente para deixar esse forum um dos melhores em Access
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº13
Re: [Resolvido]Chave de Registro no Windows
Críquio, resolvi reabrir o tópico, porque queria criar uma chave em outro lugar sem ser na inicialização do windows, pois minha intenção não é fazer ele abrir junto com o windows é apenas de registrar uma chave, então queria saber qual seria o local que eu poderia substituir por esse "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\" & "bd3", pois esse é pra criar um atalho para inicializar com o windows, eu não quero isso, me dá uma sugestão ai de um outro caminho por favor
emacsabino- Intermediário
- Respeito às regras :
Sexo :
Localização :
Mensagens : 190
Registrado : 29/08/2011
- Mensagem nº14
Re: [Resolvido]Chave de Registro no Windows
Resolvido