Ver Mensaje Individual
  #3  
Antiguo 10-10-2023
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Reputación: 20
rretamar Va camino a la famarretamar Va camino a la fama
Cita:
Empezado por lucho6007 Ver Mensaje
Hola!
No se si ya pudiste resolver el problema, pero en Delphi podés usar la siguiente función:
Código Delphi [-]function MyShellFindExecutable(const aFileName: string): string; var Buffer: array[0..MAX_PATH] of Char; begin Result := ''; FillChar(Buffer, SizeOf(Buffer), #0); if (SHELLAPI.FindExecutable(PChar(aFileName), nil, Buffer) > 32) then Result := Buffer; end;


Si le pasas un nombre de archivo válido, te devuelve el archivo asociado. Si buscás por un .DOC y lo tenés ascociado a LibreOffice, te va a devolver la ubicación del exe que abre los .DOC.
Hay que agregar ShellAPI a la lista de unidades del uses.


¡Espero te sirva!
Hola.
No necesitaría saber el ejecutavble asociado a una extensión, lo que necesito es saber el trayecto de instalación de LibreOffice, o poder consultar una lista de los programas instalados para buscar el libreoffice y obtener de alguna manera el trayecto.

Atte. Ramon
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita