Hola, intentaba acceder al registro con la función del título con este código:
Código Delphi
[-]var
NewKey: Hkey;
Buffer: array[0..32765] of char;
i: integer;
bytesread: integer;
begin
bytesread := 0;
if RegOpenKey(HKEY_LOCAL_MACHINE, 'SOFTWARE\A', NewKey) = ERROR_SUCCESS then
begin
i := RegQueryValue(NewKey, 'ejem', nil, bytesread);
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, i, 0, buffer, 32765, nil);
ShowMessage(buffer);
end
else
ShowMessage('Error al acceder a la clave');
end;
Me he mirado la documentación de msdn y ejemplos que he encontrado por la red, pero al ejecutarlo y gracias a FormatMessage me muestra el error:
"El sistema no puede hallar el archivo especificado"
Y existe el valor "ejem" en la clave HKEY_LOCAL_MACHINE\SOFTWARE\A
Según la documentación de msdn con el tercer parametro de RegQueryValue a nil se deberia guardar en bytesread la longitud de el valor que voy a leer, pero siempre esa longitud vale cero.
No es que busque otro camino para hacer lo mismo, ya que con RegQueryValueEx si que consigo acceder al valor, sino que me gustaría por qué así no funciona.
Gracias y saludos.