• Domingo 22 de Diciembre de 2024, 18:47

Autor Tema:  Registro De Windows  (Leído 1020 veces)

ebolo

  • Miembro MUY activo
  • ***
  • Mensajes: 188
    • Ver Perfil
Registro De Windows
« en: Lunes 2 de Febrero de 2004, 19:20 »
0
Hola.
¿Es posible hacer un programa en VB que haga un backup del registro de windows?.
He visto la api que hay para el registro pero no sé si alguna de ellas lo permite hacer; estas son las que he econtrado:

- Declare Function OSRegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String, phkResult As Long) As Long

- Declare Function OSRegCreateKey Lib "advapi32" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String,   phkResult As Long) As Long

- Declare Function OSRegCloseKey Lib "advapi32" Alias "RegCloseKey" (ByVal hKey As Long) As Long

- Declare Function OSRegDeleteKey Lib "advapi32" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String) As Long

- Declare Function OSRegEnumKey Lib "advapi32" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal iSubKey As Long, ByVal lpszName As String, ByVal cchName As Long) As Long

- Declare Function OSRegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, lpdwType As Long, lpbData As Any, cbData As Long) As Long

- Declare Function OSRegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpszValueName As String, ByVal dwReserved As Long, ByVal fdwType As Long, lpbData As Any, ByVal cbData As Long) As Long

- Public Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long


Seguramente de usar alguna sería una de las 3 últimas pero no sé muy bien que es lo que hacen.

Saludos y gracias de antemano.

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Registro De Windows
« Respuesta #1 en: Martes 3 de Febrero de 2004, 09:58 »
0
Hola ebolo.

La mejor manera que conozco para hacer una copia del registro es la siguiente:

Utilizar Regedit para editar el registro, ir al menú 'Registro' y selecciona exportar. Con esto guardarás el registro en un archivo que selecciones. Para recuperarlo, haz doble click sobre el archivo o selecciona Importar con Regedit.

Otra forma es utilizar una utilidad llamada ScanRegW que comprueba el registro y da opción de hacer una copia. Para restaurar esa copia podremos ejecutar ScanRegW.exe /restore.

Por supuesto que podrías hacer un programa como el que quieres con vb utilizando la api, pero tal vez te resulte más sencillo algo tan simple como Shell ScanRegW.exe.

Suerte.

ebolo

  • Miembro MUY activo
  • ***
  • Mensajes: 188
    • Ver Perfil
Re: Registro De Windows
« Respuesta #2 en: Martes 3 de Febrero de 2004, 10:47 »
0
Gracias Brroz por tu comentario.
El problema está en que quiero automatizar una copia del registro para cuando no uso yo el pc. Ayer me tocó volver a instalar el w2000 y el servipack encima del que ya tenía y volvió a funcionar.  Instalaron y desisntalaron una aplicación y dejó de funcionar bien el w2000, por lo que pude comprobar había cosas raras en el registro.

Entonces la idea es hacer un program que puesto en inicio me haga una copia del registro al arrancar el windows. Con w98 y w Xp no hay problemas porque las hace automáticamente, pero con w2000 no he encontrado la herramienta para automatizarlo.

El SCANREGW, por lo que he visto, es una herramiento de w98 y WMe.

Saludos.