Página 1 de 1
Registro do Windows
Enviado: 13 Mai 2009 09:02
por carlos_dornelas
Pessoal, alguém tem um exemplo simples de como fazer para CRIAR, INSERIR e ALTERAR um registro no windows?
Isso com xharbour .99.70 + minigui.
Grato
Antonio Carlos
Re: Registro do Windows
Enviado: 13 Mai 2009 14:42
por Itamar M. Lins Jr.
Olhe na pasta exemplos da Minigui.
Voce esta usando uma Lib gráfica que é a mais complenta em exemplos que já vi.
Saudações,
Itamar M. Lins Jr.
Re: Registro do Windows
Enviado: 13 Mai 2009 17:39
por sygecom
De uma olhada no Help do xharbour pelas seguintes funções:
GetRegistry() Recupera o valor de uma entrada de registro
QueryRegistry() Verifica se uma determinada chave do Registro com valor especificado existe.
SetRegistry() Cria uma chave / valor par no registro.
Re: Registro do Windows
Enviado: 13 Mai 2009 19:25
por carlos_dornelas
Itamar, vou verificar!
Sygecom, você teria o help para me enviar?
acdornelas@bol.com.br
Grato
Re: Registro do Windows
Enviado: 13 Mai 2009 19:32
por Maligno
Re: Registro do Windows
Enviado: 13 Mai 2009 22:51
por carlos_dornelas
Valeu Maligno!
Re: Registro do Windows
Enviado: 14 Mai 2009 11:41
por carlos_dornelas
Pessoal, preciso do include "Winreg.ch". Alguém pode me enviar ou anexar aqui?
Re: Registro do Windows
Enviado: 14 Mai 2009 11:58
por MARINI
Tenho o WINREG.H. Se servir tá anexado.
Re: Registro do Windows
Enviado: 14 Mai 2009 22:21
por Itamar M. Lins Jr.
Ola!
Usado exemplo da própria Minigui.
Código: Selecionar todos
#include "minigui.ch"
Procedure Main
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 350 ;
HEIGHT 300 ;
TITLE 'Registry Test' ;
MAIN
DEFINE MAIN MENU
DEFINE POPUP "Test"
MENUITEM 'Read Registry' ACTION ReadRegistryTest()
MENUITEM 'Write Registry' ACTION WriteRegistryTest()
SEPARATOR
ITEM 'Exit' ACTION Form_1.Release
END POPUP
END MENU
END WINDOW
Form_1.Center
Form_1.Activate
Return
Procedure ReadRegistryTest()
MsgInfo ( GetRegistryValue( HKEY_CURRENT_USER, "Control Panel\Desktop", "Wallpaper" ) , "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper" )
Return
Procedure WriteRegistryTest()
Local hKey := HKEY_CURRENT_USER
Local cKey := "Control Panel\Desktop"
Local cVar := "Wallpaper"
Local cValue
If MsgYesNo ( 'This will change HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper.', 'Are you sure?' )
cValue := InputBox ( '' , 'New Value:' , GetRegistryValue( hKey, cKey, cVar ) )
If .Not. Empty (cValue)
If .Not. SetRegistryValue( hKey , cKey , cVar , cValue )
MsgAlert( 'Write Registry is failure!' , 'Error' )
Endif
Endif
Endif
Return
Saudações,
Itamar M. Lins Jr.
Re: Registro do Windows
Enviado: 16 Mai 2009 18:18
por carlos_dornelas
Pessoal, obrigado a todos pela atenção!
Acabei utilizando as funções do xharbour (.99.70). Seguem abaixo. Nos meus testes, funcionou no XP e no vista sem problemas (e olha que o vista é enjoado...) Se alguém puder testar em outro windows e puder nos retornar..
cRegPath='Software\Sua App'
If !SetRegistry( 4, cRegPath, 'variavel','valor que se deseja gravar')
msginfo('Não conseguir salvar no registro!','Aviso do Sistema')
endif
cVal:=GetRegistry( 4, cRegPath, 'variavel')
if empty(cVal)
msginfo("Não conseguiu repurar o conteúdo de 'variavel'")
return
endif
msginfo("A 'variavel' possui o valor de '+cVal)
OBS: O primeiro parâmetro de SetRegistry (4) indica para ser gravado em HKEY_LOCAL_MACHINE -->Software -->Sua App
Espero que lhes sejam úteis.