
Maldita pregunta casi me vuelve loco, yo tampoco entendía que hacías mal. Yo mismo lo haría igual, y efectivamente con RegQueryValueEx funciona perfectamente. Pero ya encontré la explicación, y es una tontería:
Primero debemos fijarnos en una cosa, la ayuda dice de la función RegOpenKeyEx:
Cita:
|
This function retrieves the data for a key's first value that has a NULL name
|
Es decir, no puede leer los valores que hay dentro de una clave, solo es capaz de leer el valor por defecto (Predeterminado). El parametro lpSubKey solo puede ser otra
CLAVE, nil, o una cadena vacia. Es decir:
Código Delphi
[-]
RegQueryValue(NewKey,'', nil, bytesread);
RegQueryValue(NewKey,nil, nil, bytesread);
RegOpenKey(HKEY_LOCAL_MACHINE, 'SOFTWARE', NewKey);
RegQueryValue(NewKey,'A', nil, bytesread);
Es decir no puede leer otro valor distinto del predeterminado, esta función solo se incluye por compatibilidad con Windows 3.1, por eso es tan limitada.

Que agusto me quede ...