Foros del Web » Programación para mayores de 30 ;) » .NET »

modificar registro de windows

Estas en el tema de modificar registro de windows en el foro de .NET en Foros del Web. Buenas, soy nuevo en esto del Visual .NET como se hace para construir una sentencia para modificar un valor del registro de windows? del regedit ...
  #1 (permalink)  
Antiguo 14/03/2011, 15:26
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta modificar registro de windows

Buenas,

soy nuevo en esto del Visual .NET

como se hace para construir una sentencia para modificar un valor del registro de windows? del regedit me refiero.

Por ejemplo:

HKEY_LOCAL_MACHINE/SOFTWARE/CCLEANER/UpdateCheck=1


muchas gracias por vuestra ayuda!
  #2 (permalink)  
Antiguo 14/03/2011, 18:17
Avatar de bieres  
Fecha de Ingreso: marzo-2011
Mensajes: 63
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: modificar registro de windows

Hola fearhds, seria algo parecido a esto.
Código:
Imports Microsoft.Win32

Dim KeyPath as string =  "SOFTWARE/CCLEANER"
Dim ValueName as string = "UpdateCheck"
Dim value as object = 1

Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey(KeyPath, True)
key.SetValue(ValueName, value)
  #3 (permalink)  
Antiguo 14/03/2011, 19:24
Avatar de TECKNOCK  
Fecha de Ingreso: agosto-2010
Mensajes: 80
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: modificar registro de windows

Si te sirve de algo, cuando creas el paquete INSTALADOR de tu proyecto para poder instalar tu programa en otras PC; tienes la opcion de crear y editar entradas en el registro de la máquina destino y es igual de sencillo como crear una clave en tu propio RegEdit.
  #4 (permalink)  
Antiguo 15/03/2011, 07:47
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta Respuesta: modificar registro de windows

He probado lo que me dices pero me dice que hay un error.
te pego el codigo a ver si me puedes ayudar :D


Código vb:
Ver original
  1. Imports Microsoft.Win32
  2.     Dim tipo As Integer
  3.     tipo=0
  4.  
  5.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  6.  
  7.      If tipo = 1 Then
  8.  
  9.             MsgBox(tipo)
  10.             Dim ruta As String = "SOFTWARE/Piriform/CCleaner"
  11.             Dim variable As String = "UpdateCheck"
  12.             Dim valor As Object = 1
  13.  
  14.             Try
  15.                 Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey(ruta, True)
  16.                 key.SetValue(variable, valor)
  17.             Catch
  18.                 Console.WriteLine("Error.")
  19.             End Try
  20.  
  21.         ElseIf tipo = 2 Then
  22.             MsgBox(tipo)
  23.             Dim ruta As String = "SOFTWARE/Piriform/CCleaner"
  24.             Dim variable As String = "UpdateCheck"
  25.             Dim valor As Object = 0
  26.  
  27.             Try
  28.                 Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey(ruta, True)
  29.                 key.SetValue(variable, valor)
  30.             Catch
  31.                 Console.WriteLine("Error.")
  32.             End Try
  33.  
  34.         ElseIf tipo = 3 Then
  35.             MsgBox(tipo)
  36.         Else
  37.             MsgBox("ERROR! Tipo no valido")
  38.         End If
  39.     End Sub
  40. End Class


Copiando el archivo de "obj\x86\Debug\PRUEBA.exe" en "bin\Debug\PRUEBA.exe".
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Micr osoft.Common.targets(2868,9): error MSB3021: No se puede copiar "obj\x86\Debug\PRUEBA.exe" en "bin\Debug\PRUEBA.exe". El proceso no puede obtener acceso al archivo 'bin\Debug\PRUEBA.exe' porque está siendo utilizado en otro proceso.

ERROR al compilar.


alguna idea de como solucionarlo?

gracias de antemano
  #5 (permalink)  
Antiguo 15/03/2011, 10:01
Avatar de bieres  
Fecha de Ingreso: marzo-2011
Mensajes: 63
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: modificar registro de windows

Hola fearhds, la clave SOFTWARE/Piriform/CCleaner, existe o la quieres crear, porque creo que en LocalMachine, no la puedes crear tendras que crearla en CurrentUse.

Código:
 key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(KeyPath)
  #6 (permalink)  
Antiguo 15/03/2011, 10:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: modificar registro de windows

Cita:
Iniciado por bieres Ver Mensaje
Hola fearhds, la clave SOFTWARE/Piriform/CCleaner, existe o la quieres crear, porque creo que en LocalMachine, no la puedes crear tendras que crearla en CurrentUse.

Código:
 key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(KeyPath)
Ya existe, quería hacer la prueba para modificarlo de 0 a 1.
  #7 (permalink)  
Antiguo 15/03/2011, 12:06
Avatar de bieres  
Fecha de Ingreso: marzo-2011
Mensajes: 63
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: modificar registro de windows

Pues entonces no se lo que te pasa, yo cuando existe, si que lo modifico, de esa forma.

Última edición por bieres; 15/03/2011 a las 14:05
  #8 (permalink)  
Antiguo 16/03/2011, 02:54
 
Fecha de Ingreso: noviembre-2007
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta Respuesta: modificar registro de windows

Cita:
Iniciado por bieres Ver Mensaje
Pues entonces no se lo que te pasa, yo cuando existe, si que lo modifico, de esa forma.

Creo que el problema esta en esta declaración
Cita:
Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey(ruta, True)
El error me dice: "Referencia a objeto no establecida como instancia de un objeto."

Como debería crearlo? pq me dice que el new no existe para esta clase .

Etiquetas: modificar, registro, windows
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 12:36.