Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

metodo de copia de registros HKLM

Estas en el tema de metodo de copia de registros HKLM en el foro de Visual Basic clásico en Foros del Web. HOLA A TODOS TENGO UNA INQUIETUD RESULTA QUE ESTOY HACIENDO UN PROGRAMITA QUE ENTRE AL REGEDIT Y ME COPIE UN REGISTRO QUE ESTE EN EL ...
  #1 (permalink)  
Antiguo 25/04/2009, 10:46
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta metodo de copia de registros HKLM

HOLA A TODOS

TENGO UNA INQUIETUD RESULTA QUE ESTOY HACIENDO UN PROGRAMITA QUE ENTRE AL REGEDIT Y ME COPIE UN REGISTRO QUE ESTE EN EL LOCAL MACHINE Y ME LO PEGUE EN EL CURRENT USER, SE COMO CREAR UNO NUEVO PERO NO TENGO NI IDEA QUE METODO UTILIZAR PARA COPIARLO ESTE ES EL CODIGO PARA CREARLO.
LES AGRADESERIA SU COLABORACION GRACIAS.

Private Sub Command12_Click()
Dim Obj_Fso As Object
Set Obj_Fso = CreateObject("Scripting.FileSystemObject")
O_Registro.RegWrite "HKLM\SOFTWARE\Troyasoft\Prueba\caso", 1, "REG_SZ"

End Sub
  #2 (permalink)  
Antiguo 25/04/2009, 10:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: metodo de copia de registros HKLM

Puedes usar el método RegRead para leer los datos de HKEY_LOCAL_MACHINE, luego, con RegWrite escribes ese mismo valor en HKEY_CURRENT_USER
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/04/2009, 11:19
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: metodo de copia de registros HKLM

Gracias portu respuesta pero la verdad me aparece error mira como lo estoy haciendo.
Function Leer_Dato(Principal As String, Valor As String) As String
Leer_Dato = O_Registro.RegRead(Principal & "\SOFTWARE\TROYASOFT\Prueba\" & Valor)
O_Registro.RegWrite "HKCU\Software\Prueba\caso", 1, "REG_SZ"


Private Sub Command3_Click()
MsgBox Leer_Dato(LocalMachine, "caso"), vbInformation
O_Registro.RegWrite "HKCU\Software\& Valor "
End Sub


Espero tu respuesta gracias.
  #4 (permalink)  
Antiguo 25/04/2009, 11:46
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: metodo de copia de registros HKLM

Estoy utilizando visual basic 6.0.
  #5 (permalink)  
Antiguo 25/04/2009, 11:55
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: metodo de copia de registros HKLM

En lugar de Scripting.FileSystemObject usa WScript.Shell
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 25/04/2009, 12:03
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: metodo de copia de registros HKLM

no mira la verdad no me funciona mira como lo estoy haciendo alguna cosa te agradeceria me colaboras

Cita:
'Variable para acceder al Registro mediante Wsh - Windows Scripting Host
Dim O_Registro As WshShell

Dim a As WshShell
Private Const LocalMachine As String = "HKEY_LOCAL_MACHINE"
Private Const CurrentUser As String = "HKEY_CURRENT_USER"


'Private Sub Command1_Click()
'MsgBox Leer_Dato(CurrentUser, "iCurrDigits"), vbInformation
'End Sub
Private Sub Command1_Click()
Dim Obj_Fso As Object
Set Obj_Fso = CreateObject("WScript.Shell")
'O_Registro.RegRead (Principal & "\SOFTWARE\TROYASOFT\Prueba\" & Valor)
O_Registro.RegRead (Principal & "\SOFTWARE\TROYASOFT\Prueba\" & Valor)

O_Registro.RegWrite "HKCU\SOFTWARE\Troyasoft\Prueba\"
'O_Registro.RegWrite "HKCU\Software\Prueba\caso", 1, "REG_SZ"
' Leer_Dato = O_Registro.RegRead(Principal & "\Control Panel\International\" & Valor)
''Set Obj_Fso = CopyObject("Scripting.FileSystemObject")
''O_Registro.RegRead "HKLM\SOFTWARE\Troyasoft\Prueba\caso", 1, "REG_SZ"
' Leer_Dato = O_Registro.RegRead("HKLM\SOFTWARE\Troyasoft\Prueba \caso", 1, "REG_SZ" & Valor)
' Leer_Dato = O_Registro.RegWrite("HKCU\Software\")
End Sub




Private Sub Command2_Click()
End

End Sub

Function crear_Dato(Principal As String, Valor As String) As String
' Leer_Dato = O_Registro.RegWrite(Principal & "\SOFTWARE\TROYASOFT\Prueba\" & Valor)
'O_Registro.RegWrite "HKCU\Software\Prueba\caso", 1, "REG_SZ"
'O_Registro.RegWrite ("HKCU\Software\Prueba" & Valor)
End Function

Function Leer_Dato(Principal As String, Valor As String) As String
Leer_Dato = O_Registro.RegRead(Principal & "\SOFTWARE\TROYASOFT\Prueba\" & Valor)
'O_Registro.RegWrite "HKCU\Software\Prueba\caso", 1, "REG_SZ"

' Leer_Dato = O_Registro.RegRead("HKLM\SOFTWARE\Troyasoft\Prueba \caso", 1, "REG_SZ" & Valor)
' Leer_Dato = O_Registro.RegWrite("HKCU\Software\")
End Function


Private Sub Command3_Click()

MsgBox Leer_Dato(LocalMachine, "caso"), vbInformation

End Sub

Private Sub Command4_Click()


'"HKCU\SOFTWARE\Troyasoft\Prueba\caso" ' & Valor, "REG_SZ"
End Sub

Private Sub Form_Load()
Set O_Registro = New WshShell



End Sub

Private Sub Form_Unload(Cancel As Integer)
Set O_Registro = Nothing
End Sub
  #7 (permalink)  
Antiguo 25/04/2009, 16:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: metodo de copia de registros HKLM

Esto debería funcionar. Para leer:
Código vb:
Ver original
  1. Valor = O_Registro.RegRead("HKLM\SOFTWARE\Troyasoft\Prueba\caso")
Para escribir:
Código vb:
Ver original
  1. O_Registro.RegWrite("HKCU\SOFTWARE\Troyasoft\Prueba\caso", Valor, "REG_SZ"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 04/05/2009, 10:00
 
Fecha de Ingreso: febrero-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Sonrisa Respuesta: metodo de copia de registros HKLM

muchisimas gracias por tu colaboracion si me sirvio y mucho. Aunque me gustaria saber como hago para compiar la carpeta completa porque con este codio solo copia la clave o mejor dicho lo que esta dentro de la clave en todo caso muchisimas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:23.