Problema leyendo el registro

Iniciado por Thaorius, 17 Julio 2005, 02:10 AM

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

Thaorius

Hola gnete!

Bueno, el problema es que cunado trato de leer el registro obteniendo un valor y ponerlo en una variable global algo anda mal.

Segun mi, es la variable porque si pongo un msgbox en la funcion paraque imprima nBufferDATA, lo hace bien.

Como puedo solucionarlo?

Funcion:
Function RegistryGetValueData(MasterKey, Key, Value)
Dim nBufferKey As Long
Dim nBufferDATA As String
nBufferDATA = Space(256)
RegOpenKey MasterKey, Key, nBufferKey
RegQueryValueEx nBufferKey, Value, 0, REG_SZ, nBufferDATA, Len(nBufferDATA)
KeyValue = nBufferDATA
End Function


Declaraciones:
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long

'constants'
Public Const REG_SZ = 1
Public Const HKLM = &H80000002 ' This is really HKEY_LOCAL_MACHINE

'Globals'
Dim NTOwner As String
Dim KeyValue As String


Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

goodbye

#1
Hola colega! Que error te da exactamente?

Prueba a no definir el tipo en la variable o lo que es lo mismo dejala como Variant
Al lado de la dificultad está la facilidad.
Cambiad de placeres, pero no cambies de amigos.
Aceptar un favor de un amigo, es hacerle otro.

Thaorius

No es que de un error, sino que al tratar de mostrar de algun modo(por ejemplo en un msgbox) la informacion obtenida, la variable esta vacia.
Pero sin embargo si dentro de la funcion pongo msgbox nBufferDATA

Lo hace bein.

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

{_The_Alwar_}

A lo mejor es que lo que intentas leer esta vacio o le estas diciendo que lea otra cosa sin querer, eso me pasa mucho a mi que quiero leer algo de algun sitio y a lo mejor leo otra cosa o me devuelve 0

Thaorius

Nop, lo copie tal cual. Probe varias veces. De todas formas, esta creando el valor y en la linea siguiente l oobtiene. Solo apra probar pero no funca.

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí