elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda con RegQueryInfoKey
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con RegQueryInfoKey  (Leído 1,768 veces)
noob_Setup

Desconectado Desconectado

Mensajes: 117



Ver Perfil WWW
Ayuda con RegQueryInfoKey
« en: 11 Octubre 2005, 23:07 pm »

Buenas:
Alguien sabe si esta funcion funciona en win Xp pues en la misma aplicacion corre perfecto sobre 98 pero cuando lo pruebo en xp no me retorna ningun valor
el codigo de la funcion es este
Código:
Public Function EnumKey(lPredefinedKey As Long, sKeyName As String, vSubKeys As Variant) As Long
' Descripción:
'   Esta función busca todas las subclaves de una dada y forma una matriz con ellas en
'   el parámetro vSubKeys.
'
'   Si queremos saber las subclaves de una de las principales debemos dejar en blanco
'   el parámetro sKeyName
'
'   Devuelve el número de subclaves o -1 si hubo algún error
'
' Sintaxis:
'   variable = EnumKey (ClaveRaíz, NombreDeClave,SubClaves)
'
'   ClaveRaíz debe ser HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_lOCAL_MACHINE
'   o HKEY_USERS
'
'   NombreDeClave es el nombre de la clave cuyas subclaves queremos obtener,
'   puede incluir subclaves (por ejemplo "Clave1\SubClave1")
'
'   SubClaves es un variant que recogerá la matriz de subclaves obtenida

    Dim lRetVal As Long             'resultado de las funciones del API
    Dim hKey As Long                'handle de la clave abierta
    Dim sSubKeyName As String       'nombre de la subclave
    Dim lSubKeyLen As Long          'tamaño del nombre de la subclave
    Dim lMaxSubKeyLen As Long       'tamaño del nombre de subclave más grande
    Dim lNumSubKeys As Long         'número de subclaves existentes
    Dim ftLastWriteTime As FILETIME 'fecha última modif. de la clave (sólo NT)
    Dim lIndex As Long              'índice de la subclave
    Dim sSubClaves() As String      'matriz para contener las subclaves
   
    EnumKey = -1
    'si tenemos nombre de clave la abrimos
    If sKeyName <> "" Then
        lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
    Else
        hKey = lPredefinedKey
    End If
    'obtenemos el nº de subclaves y el tamaño máximo de sus nombres
    lRetVal = RegQueryInfoKeyEx(hKey, 0&, 0&, 0&, lNumSubKeys, lMaxSubKeyLen, 0&, 0&, 0&, 0&, 0&, ftLastWriteTime)
    If lRetVal = 0 Then
        'si no encontré subclaves
        If lNumSubKeys = 0 Then
            EnumKey = 0
        Else
            EnumKey = lNumSubKeys
            lNumSubKeys = lNumSubKeys - 1       ' va de 0 a n-1
            lMaxSubKeyLen = lMaxSubKeyLen + 1   ' dejar sitio para el 0 de fin de string en c
            'dimensionamos la matriz
            ReDim sSubClaves(lNumSubKeys)
            'recorremos las subclaves (en orden inverso, como dice la ayuda ¿?)
            For lIndex = lNumSubKeys To 0 Step -1
                lSubKeyLen = lMaxSubKeyLen
                sSubKeyName = String(lMaxSubKeyLen, 0)
                lRetVal = RegEnumKeyEx(hKey, lIndex, sSubKeyName, lSubKeyLen, 0&, 0&, 0&, ftLastWriteTime)
                If lRetVal = 0 Then
                    sSubClaves(lIndex) = Left$(sSubKeyName, lSubKeyLen)
                Else
                    EnumKey = -1
                End If
            Next lIndex
        End If
    Else
        EnumKey = -1
    End If
    'devolvemos el resultado
    vSubKeys = sSubClaves()
    'cerramos la clave
    If sKeyName <> "" Then RegCloseKey (hKey)
End Function
gracias desde ya


En línea

Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: Ayuda con RegQueryInfoKey
« Respuesta #1 en: 13 Octubre 2005, 02:58 am »

A mi con RegQueryInfoKey me va bien.

Por cierto, o ese code es una copia o programamos terriblemente parecido.

Saludos.


En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
noob_Setup

Desconectado Desconectado

Mensajes: 117



Ver Perfil WWW
Re: Ayuda con RegQueryInfoKey
« Respuesta #2 en: 13 Octubre 2005, 18:44 pm »

Lo suplante con un codigo que saque de la web de el guille.
De todas formas comprobe que con w98 corre perfecto pero en xp no.
La solucion esta con otras formas de llegar a la key buscando por ParseKey, el code esta disponible en la web del guille

gracias
En línea

noob_Setup

Desconectado Desconectado

Mensajes: 117



Ver Perfil WWW
Re: Ayuda con RegQueryInfoKey
« Respuesta #3 en: 13 Octubre 2005, 18:46 pm »

ahh me olvidaba, no no es copia tuya saque algunos pedazos de el guille pero hicimos algunas reformas.

saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
RegQueryInfoKey -> Retorna un numero erroneo?
Programación C/C++
someRandomCode 5 2,313 Último mensaje 28 Octubre 2014, 14:15 pm
por someRandomCode
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines