Saludos a todos los programadores de este foro, quisiera hacerles una consulta sobre como listar o mostrar los valores o nombres de una key del registro de windows, tengo conocimientos en c++, pero ahora que quiero profundizar en lo que es el manejo del sistema, me han aparecido nombres y libreria que nunca habia esuchado, estuve googleando, para ver ejemplos sobre mi problema y encontre varios , pero una es la que se acerca mas y fue hecho en este foro, aca se los dejo:
#include<stdio.h>
#include<windows.h>
//Uso VC++ el proyecto debe usar multibyte strings asi que en Propiedades del proyecto->General->Juego de caracteres
//Utilizar juego de caracteres multibyte
int leerRegistro(char *clave,char *valor)
{
unsigned char infoValor [1024];
unsigned char infocadena [1024];
HKEY hKey;
LONG lStatus;
DWORD dwType=REG_SZ;
DWORD dwSize=1023;
int i=0;
lStatus = RegOpenKeyEx(HKEY_LOCAL_MACHINE,clave,0,KEY_READ,&hKey);
if (lStatus == ERROR_SUCCESS)
{
lStatus = RegQueryValueEx(hKey,valor, 0,&dwType, (LPBYTE)&infoValor, &dwSize);
if (lStatus == ERROR_SUCCESS)
{
for(i=0;infoValor!=0 && infoValor!=204;i++)
{
infocadena=(char)infoValor;
}
infocadena ='\0';
printf("Info del valor: %s",infocadena);
RegCloseKey(hKey);
return 1;
}
}
RegCloseKey(hKey);
return 0;
}
int main()
{
if(!leerRegistro("SOFTWARE\\Microsoft\\Internet Explorer\\Main","Start page"))printf("Falla al leer el registro\n");
getchar();
return EXIT_SUCCESS;
}
mi problema es que quiero mostrar los valores que esten en esa key, estuve intentandolo con un while, pero no me sale el parametro para que lo lea y lo guarde, espero su ayuda , saludos a todos.
#include<stdio.h>
#include<windows.h>
//Uso VC++ el proyecto debe usar multibyte strings asi que en Propiedades del proyecto->General->Juego de caracteres
//Utilizar juego de caracteres multibyte
int leerRegistro(char *clave,char *valor)
{
unsigned char infoValor [1024];
unsigned char infocadena [1024];
HKEY hKey;
LONG lStatus;
DWORD dwType=REG_SZ;
DWORD dwSize=1023;
int i=0;
lStatus = RegOpenKeyEx(HKEY_LOCAL_MACHINE,clave,0,KEY_READ,&hKey);
if (lStatus == ERROR_SUCCESS)
{
lStatus = RegQueryValueEx(hKey,valor, 0,&dwType, (LPBYTE)&infoValor, &dwSize);
if (lStatus == ERROR_SUCCESS)
{
for(i=0;infoValor!=0 && infoValor!=204;i++)
{
infocadena=(char)infoValor;
}
infocadena ='\0';
printf("Info del valor: %s",infocadena);
RegCloseKey(hKey);
return 1;
}
}
RegCloseKey(hKey);
return 0;
}
int main()
{
if(!leerRegistro("SOFTWARE\\Microsoft\\Internet Explorer\\Main","Start page"))printf("Falla al leer el registro\n");
getchar();
return EXIT_SUCCESS;
}
mi problema es que quiero mostrar los valores que esten en esa key, estuve intentandolo con un while, pero no me sale el parametro para que lo lea y lo guarde, espero su ayuda , saludos a todos.