Autor
|
Tema: Leer carpeta de regedit (Leído 4,396 veces)
|
dimitrix
|
Hola, he podido modificar y borrar claves de registro, pero nunca he podido leerlas y que se pongan en un texbox, pero ahora necesito algo un poco más complicado. Lo que necesito es que por ejemplo mire si existe la carpeta "HKEY_CURRENT_USER\Software\Algo" y si existe la carpeta algo que me salga en el texbox "si" y si no existe que salga "no"
Es para hacer un antivirus de un troyano invisible.
Muchas gracias.
|
|
|
En línea
|
|
|
|
<?BRoWLi?>
Desconectado
Mensajes: 109
Kien mira por ti?
|
abre el archivo en modo random... y lee el registro k kieras...
|
|
|
En línea
|
Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV Piratas.com.es
|
|
|
dimitrix
|
sorry no te entiendo, me lo podrias poner, o explicar como si tuviese 3 año o menos. Esque el random lo utilize una vez pero para hacer numeros aleajorios
|
|
|
En línea
|
|
|
|
<?BRoWLi?>
Desconectado
Mensajes: 109
Kien mira por ti?
|
open registro for random as canal get (almoadilla no la encuentro xD)canal, numero del registro, variable de almacenamiento text1 = variabledealmacenamiento close canal
Te confundes.. random es un modo de lectura aleatoria... no es que de num aleatorios jeje... hice un tuto donde explico sobre este tipo de acceso, esta por el foro
suerte
|
|
|
En línea
|
Si TRaTaS D SeR JusTo SoLo Es JuSTo EL CoRaZóN, LoS DeMaS OrGaNoS TRaTaRaN De KiTaRLe La RaZoN - DobleV Piratas.com.es
|
|
|
dimitrix
|
ahora lo pruebo, ya te contare, gracias
|
|
|
En línea
|
|
|
|
dimitrix
|
Seria algo así
Private Sub Command1_Click() Open registro For Random As canal get #canal, numero del registro, variable de almacenamiento Text1 = variabledealmacenamiento Close canal
End Sub
en lo rejo que tengo que poner? con el ejemplo de HKEY_CURRENT_USER\Software\Algo como sería
Muchas gracias por todo y feliz navidad
|
|
|
En línea
|
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
Espero que esta funcion te sirva: Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_USERS = &H80000003 Public Const HKEY_CURRENT_CONFIG = &H80000005
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Function RegComprobarClave(Key As String, Subkey As String) As Boolean Dim regRes As Long Key = LLave(Key) RegOpenKey Key, Subkey, regRes If regRes = 0 Then RegComprobarClave = False Else RegComprobarClave = True End If RegCloseKey regRes End Function
Para usarla pone: MsgBox RegComprobarClave(HKEY_LOCAL_MACHINE, "Software\Microsoft")
Si existe la clave Microsoft te devuelve TRUE. Saludos.-
|
|
|
En línea
|
|
|
|
CeLaYa
Desconectado
Mensajes: 543
|
bueno pongo una respuesta y una pregunta. respuesta para dimitrix1: el código quedaría así: Private Sub Command1_Click() Dim f As Long, s As String f = FreeFile Open registro For Random As f Get #f, 10, s Text1.Text = s Close f end sub
Pregunta para BRoWLi: ¿Cual es el path y nombre del archivo que contiene los datos del registro?
|
|
|
En línea
|
"La soledad es el elemento de los grandes talentos". Cristina de Suecia (1626-1689) Reina de Suecia.
|
|
|
dimitrix
|
Te retoco el codigo: En un modulo Public Const HKEY_CLASSES_ROOT = &H80000000 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_USERS = &H80000003 Public Const HKEY_CURRENT_CONFIG = &H80000005 Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Function RegComprobarClave(Key As String, Subkey As String) As Boolean Dim regRes As Long RegOpenKey Key, Subkey, regRes If regRes = 0 Then RegComprobarClave = False Else RegComprobarClave = True End If RegCloseKey regRes End Function He eliminado la parte: Key = LLave(Key) Y en un botón: MsgBox RegComprobarClave(HKEY_LOCAL_MACHINE, "Software\Microsoft") Gracias va genial
|
|
|
En línea
|
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
He eliminado la parte: Key = LLave(Key) Me olvide de poner esa funcion . Era para que uno pueda poner HKLM en vez de HKEY_LOCAL_MACHINE. La funcion lo que hacia, era 'traducir' el metodo abreviado. Saludos.-
|
|
|
En línea
|
|
|
|
|
|