Amigo erick , ele pode usar tb o Shell para fazer isto, segue abaixo exemplo generico:
o "on error" é porque se vc faz uma leitura no registro e essa chave nao existe ele provoca um erro.
local obj, cleitura, cprog,cdesc , cstring1
cdesc="ShellDll"
cstring1="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run\"
cprog=Alltrim(thisform.currentdir)+"ShellDll.exe"
Obj=CreateObject("WScript.Shell") && cria um objeto Shell.Script
on error cleitura="" && caso ocorra um erro no comando abaixo move "" para a string de leitura
cleitura=Obj.RegRead(cstring1+cdesc) && executa a leitura no registro
** O conteudo da chave caso exista esta armazenada na variavel cleitura
on error && retorna a entrada de error padrao
if Empty(cleitura)
Obj.RegWrite(cstring1+cdesc,cprog) && caso nao exista a entrada esta sera criada
endif
if !Empty(cleitura)
Obj.RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run\Shelldll")
&& Apaga caso ela exista.
Messagebox("excluido")
endif
Bom este foi apenas um pequeno exemplo de manipulação de registro do windows, existem outros tipos de entradas como Binarias e hexadecimal para saber mais consulte :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsobjwshshell.asp Um abraço,
Fabio Silva.
FABIO B. DA SILVA
JMS ASSESSORIA E CONSULTORIA LTDA