Agregar registro en C++ [Devcpp]

Iniciado por EAX_, 13 Septiembre 2010, 03:06 AM

0 Miembros y 1 Visitante están viendo este tema.

EAX_

 Hola, estoy un poco complicado tratando de agregar un registro de tipo REG_BINARY. No soy para nada experto en el lenguaje, pero creo que está agregandolo como ASCII, osea, lo que ponga lo convierte a HEX y el valor del registro queda mal.

estoy agregandolo así:

        HKEY hkey;
        RegOpenKeyEx (HKEY_LOCAL_MACHINE,"System\\",0,KEY_SET_VALUE,&hkey);
        RegSetValueEx(hkey,"Value",0,REG_BINARY,VALORENHEX,sizeof(VALORENHEX));        
        RegCloseKey(hkey);


Cómo hago para agregarlo como hex?
Gracias de antemano..
"Everyone is a genius. But if you judge a fish on its ability to climb a tree, it will live its whole life believing it is stupid." - Albert Einstein

Eternal Idol

¿Que es lo que queres escribir EXACTAMENTE en ese valor (¿System\Value?)?

Nadie convierte nada en ningun momento RegSetValueEx recibe un BUFFER, despues como lo muestre un programa tipo el RegEdit es otra historia. Es dificil saber que estas escribiendo sin que nos dejes VALORENHEX.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

EAX_

 Necesito escribir "dc 05 00 00" y no sé como hacerlo.

Saludos (:
"Everyone is a genius. But if you judge a fish on its ability to climb a tree, it will live its whole life believing it is stupid." - Albert Einstein

Eternal Idol

#3
Con el codigo que ya tenes:

BYTE VALORENHEX[] =
{
 0xDC, 0x05, 0x00, 0x00
};




Haciendo el casting correspondiente y el ampersand (&) para obtener la direccion de la variable podrias usar esto:
DWORD VALORENHEX = 0X05DC;

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

EAX_

 Funcionó! Ahora, podrías explicarme así de manera simple qué es:

Código (cpp) [Seleccionar]
DWORD VALORENHEX = 0X05DC;

Gracias
"Everyone is a genius. But if you judge a fish on its ability to climb a tree, it will live its whole life believing it is stupid." - Albert Einstein

Eternal Idol

Es lo mismo en realidad, en lugar de un array de 4 BYTES, un DWORD (que son 4 bytes justamente).
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón