CLR: .Net / Mono / Boo / Otros CLR > C#
Registro De Windows
(1/1)
lalo_soft:
Tengo este codigo para crear keys en el registro pero no funca
--- Código: Text --- private gameConfig configuracion; private RegistryKey llaveRegistro,GRGroup, FMCZ,juegoConfig; public SetupGame(string nameGame) { configuracion = new gameConfig(false); // Creacion de las claves de registro llaveRegistro = Registry.CurrentUser; GRGroup = (llaveRegistro.OpenSubKey("Software",true)).CreateSubKey("GuyaniGames"); FMCZ = GRGroup.CreateSubKey(nameGame); juegoConfig = FMCZ.CreateSubKey("Configuracion"); juegoConfig.OpenSubKey("Configuracion",true); configuracion.VolSonido = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Sonido",this.configuracion.VolSonido)); configuracion.VolMusica = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Musica",this.configuracion.VolMusica)); }
jesusssX:
Muchas veces las directivas de ámbito en C# exigen permisos concretos al sistema, y esto causa confución y aunque el código compile no quiere decir que este se encuentree funcionando correctamente, por esto lo mejor es usar algún script que no ocasiones esto problemas, porque no puruebas con Visual Basic script ya posee clases y los métodos necesario para elaborar registros en Windows, luego puedes llamar ese script desde c #.net para no perder la encapsulación
lalo_soft:
Al parecer solucione el problema de la siguente forma.
[/CODE]
public SetupGame(string nameGame)
{
configuracion = new gameConfig(false);
// Creacion de las claves de registro
llaveRegistro = Registry.CurrentUser;
GRGroup = (llaveRegistro.OpenSubKey("Software",true)).CreateSubKey("GuyaniGames");
FMCZ = GRGroup.CreateSubKey(nameGame);
juegoConfig = FMCZ.CreateSubKey("Configuracion");
juegoConfig.OpenSubKey("Configuracion",true);
configuracion.VolSonido = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Sonido",this.configuracion.VolSonido));
configuracion.VolMusica = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Musica",this.configuracion.VolMusica));
}
--- Código: Text --- Este codigo ta bueno ya que al revisar con REGEDIT las claves fueron creadas. Aqui esta la falla!!! public void SaveSetup()
{
juegoConfig.SetValue("Volumen de Sonido",(Int32)configuracion.VolSonido);
juegoConfig.SetValue("Volumen de Musica",(Int32)configuracion.VolMusica);
}
[CODE]
El detalle es que hay que volver a abrir todas las claves y subclaves (al salir del ambito del primer metodo se cierran todas las claves !yo no sabia eso¡) para poder escribir un valor.
lalo_soft:
Sorry repito porque que quedo na q, ver :angry: :angry:
Al parecer solucione el problema de la siguente forma.
--- Código: Text --- public SetupGame(string nameGame){configuracion = new gameConfig(false);// Creacion de las claves de registrollaveRegistro = Registry.CurrentUser;GRGroup = (llaveRegistro.OpenSubKey("Software",true)).CreateSubKey("GuyaniGames");FMCZ = GRGroup.CreateSubKey(nameGame);juegoConfig = FMCZ.CreateSubKey("Configuracion");juegoConfig.OpenSubKey("Configuracion",true);configuracion.VolSonido = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Sonido",this.configuracion.VolSonido));configuracion.VolMusica = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Musica",this.configuracion.VolMusica));}
Este codigo ta bueno ya que al revisar con REGEDIT las claves fueron creadas.
Aqui esta la falla!!! :huh: :huh:
--- Código: Text --- public void SaveSetup(){juegoConfig.SetValue("Volumen de Sonido",(Int32)configuracion.VolSonido);juegoConfig.SetValue("Volumen de Musica",(Int32)configuracion.VolMusica);}
El detalle es que hay que volver a abrir todas las claves y subclaves (al salir del ambito del primer metodo se cierran todas las claves !yo no sabia eso¡ :whistling: ) para poder escribir un valor.
lalo_soft:
--- Citar ---porque no puruebas con Visual Basic script
--- Fin de la cita ---
Creo que los post aqui mostrado deben ser para VC# <_< ¿ho NO?..
Navegación
Ir a la versión completa