Hola!
Busca la carpeta donde está instalado VB 6 (Normalmente es en: C:\Archivos de programa\Microsoft Visual Studio\VB98).
Ahí, dentro de la carpeta: Wizards\PDWizard\Setup1, encontrarás un módulo llamado "registry.bas".
Eso es todo lo que necesitas para acceder al registro de Windows.
Saludos!
muchas gracias! realmente a sido de gran utilidad
pero me da todo el rato errores y los ejemplos que encontre por la web tambien me los dan y por lo tanto no hallo el metodo para personalizar un ejemplo para mi programa.. me harias un favor si me pusieras un ejemplo.
seria poner en un modulo lo del registry.bas y luego en un form dando click a un boton (por ejemplo) que devolviera un msgbox con los datos del valor CTFMON.EXE situado en:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
(pongo este de ejemplo ya que es un valor que supongo que tendreis todos)
ME AUTOCITO:
Encontre la solucion
Hacer un nuevo proyecto y poneis en un modulo esto:
Option Explicit
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Luego poneis en el form lo siguiente:
Option Explicit
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
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
Private Const ERROR_SUCCESS = 0&
Private Const REG_SZ = 1
Function GetKeyValue(ByVal hKey As Long, ByVal Path As String, ByVal Value As String) As String
Dim Result As Long
Dim vType As Long
Dim Buffer As String
Dim bSize As Long
Dim subKey As Long
Result = RegOpenKey(hKey, Path, subKey&)
Result = RegQueryValueEx(subKey&, Value, 0&, vType, ByVal 0&, bSize)
If Result = ERROR_SUCCESS And vType = REG_SZ Then
Buffer = String(bSize, Chr(0))
Result = RegQueryValueEx(subKey&, Value, 0&, 0&, ByVal Buffer, bSize)
If Result = ERROR_SUCCESS Then
GetKeyValue = Left(Buffer, InStr(Buffer, Chr(0)) - 1)
End If
End If
Result = RegCloseKey(subKey&)
End Function
Y debajo de todo esto en el form podeis poner por ejemplo:
Private Sub Form_Load ()
Dim Valor1
Valor1 = GetKeyValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", "Programa")
msgbox valor1
End Sub
Lo que va a hacer es al cargarse el form1 leer del registro en concreto de "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" del valor "Programa" los datos que contenga...
Si no hay datos o no existe el valor devuelve "" y si hay datos te los da!!