Hola Caroso.
Agregando otra opción a la de
nlsgarcia, también podes obtener el contenido del ícono de un ejecutable usando la función
PrivateExtractIcons.
Ejemplo:
Código Delphi
[-]
...
implementation
function PrivateExtractIcons(lpszFile: PChar; nIconIndex, cxIcon, cyIcon: integer;
phicon: PHANDLE; piconid: PDWORD; nicon, flags: DWORD): DWORD;
stdcall ; external 'user32.dll' name 'PrivateExtractIconsA';
procedure TForm1.Button1Click(Sender: TObject);
var
hndIcon : THandle;
idIcon : DWORD;
aIcon : TIcon;
begin
if OpenDialog1.Execute then
if PrivateExtractIcons(PChar(OpenDialog1.FileName),0,16,16,@hndIcon,@idIcon,1,LR_LOADFROMFILE) <> 0 then
try
aIcon := TIcon.Create;
try
aIcon.Handle := hndIcon;
aIcon.SaveToFile(ExtractFilePath(OpenDialog1.FileName) + 'EXE_ICON.ICO');
finally
aIcon.Free;
end;
finally
DestroyIcon(hndIcon);
end;
end;
...
Pero como menciona
Neftali, no está claro en tu mensaje si lo que deseas obtener es la imágen del ícono o la ruta.
Ahora si lo que buscas es obtener la ruta al archivo .ico que originalmente cargó el ejecutable, la respuesta es: No es posible.
Saludos.
