Utilice Delphi's TResourceStream. Su constructor encontrará y cargará el recurso en la memoria, y su método SaveToFile hará la escritura del disco.
Algo similar a esto debería funcionar:
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HInstance, 'YOURRESOURCENAME', RT_RCDATA);
try
ResStream.Position := 0;
ResStream.SaveToFile('C:\YourDir\YourFileName.jpg');
finally
ResStream.Free;
end;
end;
Si puede utilizar el ID de recurso en lugar del nombre, que es un poco menos memoria. En ese caso, reemplazaría Create con CreateFromID y proporcionaría el ID numérico en lugar del nombre de la cadena.
gracias, Ken, suena genial. Por cierto, ¿qué valor para HInstance? – Mawg
Sea cual sea el valor que el sistema operativo le indique, @Leonix. 'HInstance' es una variable global que Delphi inicializa cuando el programa se inicia. Está en la unidad * SysInit *. –
+1 y gracias de nuevo! – Mawg