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.
abre el archivo en modo random... y lee el registro k kieras...
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
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
ahora lo pruebo, ya te contare, gracias
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
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.-
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? :huh:
Te retoco el codigo:
En un modulo
CitarPublic 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
Citar
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:
CitarKey = LLave(Key)
Y en un botón:
CitarMsgBox RegComprobarClave(HKEY_LOCAL_MACHINE, "Software\Microsoft")
Gracias va genial
CitarHe eliminado la parte:
Key = LLave(Key)
Me olvide de poner esa funcion :-X. Era para que uno pueda poner HKLM en vez de HKEY_LOCAL_MACHINE. La funcion lo que hacia, era 'traducir' el metodo abreviado.
Saludos.-
Hola, también estoy desarrollando un proyecto en vb para leer el registro, estos tips me han servido para verificar una carpeta, pero me gustaría saber como extraigo el contenido de un archivo de la carpeta del tipo REG_SZ o REG_DWORD, para adquirir el friendlyname de un dispositivo PCI.
qUEDARE MUY AGRADECIDO POR SU COLABORACIÓN.