La funcion solo funciona con texto entrecomillado!

Iniciado por 33boy33, 14 Julio 2015, 19:36 PM

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

33boy33

Estoy desesperandome ya con esta maldita funcion:

ch = RegGetValue(HKEY_LOCAL_MACHINE, TEXT(t), key2, RRF_RT_ANY, NULL, (PVOID)&vals,(LPDWORD)&value_length);

key2 es el nombre de la clave a la que se quiere acceder, por ejemplo yo he creado una manualmente llamada prueba y si pongo "prueba" entre comillas en esa casilla no hay ningun problema pero si pongo uso una variable, vals que es la variable que devuelve el valor de la clave aparece vacia, esto lo puedo ver con un cout. he estado mirando convertir el char a LPCTSTR pero no me acabo de aclarar y lo que encuentro no funciona.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724868%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

x64core

#1
Cita de: 33boy33 en 14 Julio 2015, 19:36 PM
Estoy desesperandome ya con esta maldita funcion:

ch = RegGetValue(HKEY_LOCAL_MACHINE, TEXT(t), key2, RRF_RT_ANY, NULL, (PVOID)&vals,(LPDWORD)&value_length);

key2 es el nombre de la clave a la que se quiere acceder, por ejemplo yo he creado una manualmente llamada prueba y si pongo "prueba" entre comillas en esa casilla no hay ningun problema pero si pongo uso una variable, vals que es la variable que devuelve el valor de la clave aparece vacia, esto lo puedo ver con un cout. he estado mirando convertir el char a LPCTSTR pero no me acabo de aclarar y lo que encuentro no funciona.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724868%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
Ejemplo:

   BYTE Buffer[MAX_PATH * 4];
   DWORD Size;

   Size = sizeof(Buffer);
   RegGetValue(
       HKEY_CURRENT_USER,
       _T("Environment"),
       _T("PATH"),
       RRF_RT_REG_SZ,
       NULL,
       Buffer,
       &Size);



Por cierto, no podes decir que vas a convertir de char a LPCTSTR/TCHAR ya que realmente esos tipos no existen, en resumen son para compilar las aplicaciones para ASCII o Unicode sin necesidad de modificar el código.