Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - andres_89a

#1
bueno, he visto tu funcion pero aun hay algunos parametros que no entiendo , he probado algunos codigos pero me da errores , creo que es por el compilador, estoy trabajando con dev-c++, encontre uno en visual c++ , que es exactamente lo que quiero  pero solo funciona en visual c++(es por el net.framework),aca dejo el resultado que quiero que me muestre pero con la api de windows , no con el .net de visual c++:

Citar// Leer Registros.cpp : main project file.

#include "stdafx.h"
#include <windows.h>

// registry_read.cpp
// compile with: /clr
using namespace System;
using namespace Microsoft::Win32;

int main( )
{
   array<String^>^ key = Registry::CurrentUser->GetSubKeyNames( );

   
   RegistryKey^ rk = nullptr;
   rk = Registry::CurrentUser->OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
   if (rk==nullptr)
   {
      Console::WriteLine("Registry key not found - aborting");
      return -1;
   }

   Console::WriteLine("Nombres de la clave del registro \"Software\\Microsoft\\Windows\\CurrentVersion\\Run\"");
   array<String^>^ name = rk->GetValueNames( );
   for (int i=0; i<name->Length; i++)
   {
      String^ value = rk->GetValue(name)->ToString();
      Console::WriteLine("   {0}", name);
   }
   system("pause >nul");
   return 0;
}

este codigo si me muestra exactamente lo que quiero , pero quiero adaptarlo en dev-c++, espero me ayuden.. =)
#2
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.