Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: 50l3r en 26 Abril 2010, 01:02 AM

Título: Leer clave de registro con wscript.shell
Publicado por: 50l3r en 26 Abril 2010, 01:02 AM
Veran, necesito leer los valores de este lugar

hkcu\software\microsoft\windows\currentversion\run

beno, de este y de otros mas, la cosa que cuando quiero leer todos los valores que contiene tira este error

No se pudo abrir la clave de registro ..... para leerla

a que se debera? que hago mal vamos

Código (vb) [Seleccionar]
Private Function registro()
    Dim regedit As Object
    Dim claves As String
   
    Set regedit = CreateObject("Wscript.Shell")
   
    claves = regedit.regread("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run")
   
    MsgBox claves
   
    Set regedit = Nothing
   
End Function


saludos

Título: Re: Leer clave de registro con wscript.shell
Publicado por: seba123neo en 26 Abril 2010, 01:21 AM
tenes que enumerarlas, podes con el metodo EnumKey de StdRegProv, eso es WMI, creo que con WSH no se puede enumerar...¿ igualmente porque no usas api's ? es lo mejor..
Título: Re: Leer clave de registro con wscript.shell
Publicado por: 50l3r en 26 Abril 2010, 08:06 AM
ok entonces uso apis, muchas gracias ^^
Título: Re: Leer clave de registro con wscript.shell
Publicado por: skapunky en 26 Abril 2010, 14:07 PM
Yo personalmente lo hice con WMI. De todas formas:

Código (vb) [Seleccionar]
Private Function registro()
    Dim regedit As Object
    Dim claves As String

    Set regedit = CreateObject("Wscript.Shell")

    claves = regedit.regread("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run")

    MsgBox claves

    Set regedit = Nothing

End Function


Deberías crear un array, para poder leer cada una de los valores y controlarlo con un FOR. Piensa que dentro la clave HCU.../Run exísten varias valores y tu idea no era mala pero solo serviria si existíera un solo valor.