problemas para saber si se creo una clave...

Iniciado por USUARIO_DE_SOFTWARE_LIBRE, 10 Diciembre 2005, 18:14 PM

0 Miembros y 1 Visitante están viendo este tema.

USUARIO_DE_SOFTWARE_LIBRE

hola, lo qe yo quero hacer es esto:
si existe una clave llamada "a"
msgbox "la clave existe "
si no existe
crearla

asi de simple, entonces el codigo que lke pongo e este:

On Error Resume Next
dim zonavirus
dim x
Set a = CreateObject("WScript.Shell")
X = a.regRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\funka")
If X = "c:\funka" Then
MsgBox "en esta pece ya se ejecuto el programa"
Else
crearclave
End If

private sub crearclave ()
Dim regedit As Object
Set regedit = CreateObject("Wscript.Shell")
regedit.regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\funka", "c:\funka", "REG_SZ"
end sub

¿Qué es lo que tengo mal en el código?
lo ejecuto y me dice que no se puede leer la primera clave que puse...
gracias de antemano

Syphroot

La primer clave:

X = a.regRead ("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\funka")

La segunda:

regedit.regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\funka", "c:\funka", "REG_SZ"

Como vez no lees en el mismo lugar en el que escribes la clave, por eso te da errores...


USUARIO_DE_SOFTWARE_LIBRE

ya lo arregle, y le puse la variable "a" que no habia declarado y me pasa lo mismo !!
pero me di cuenta que si le agrego un magico "on error resume next" me pasa a la otra linea  :o !! y me crea la clave !
pero me pregunto yo, no hay otra forma sin poner "on error resume next" ??? ??? ??? ???

NYlOn

Podrias mostrar la linea donde te salta el error ??

USUARIO_DE_SOFTWARE_LIBRE

si le saco el on error resume next me salta en:
X = a.regRead
("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\funka")
me dice que no se puede abrir esa clave...oviamente, no se puede abrir ! entonces créala maldito windows !