FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Detectar trayecto de instalación de LibreOffice
Hola colegas pascaleros.
¿ Conocer alguna manera de averiguar si una aplicación está instalada (la opción "programas y características" del Panel de Control) pero que funcione si que nuestro ejecutable tenga privilegios de administrador ? En el registro hay una lista de software instalado, pero si no estoy ejecutando mi software como administrador no la puede leer. En particular es para detectar el trayecto de lnstalación de la suite LibreOffice, que la utilizo desde línea de comandos (en modo no-interactivo / invisible) para convertir archivos RTF o DOC hacia el formato PDF, con la ventaja de que puedo firmar los archivos con un certioficado. La versión de 64 bits por defecto se instala en C:\Program Files\LibreOffice\program ,igual estaba viendo de poder obtener este trayecto. Saludos.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. Última edición por dec fecha: 13-10-2023 a las 13:09:29. |
#2
|
|||
|
|||
Hola!
No se si ya pudiste resolver el problema, pero en Delphi podés usar la siguiente función:
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! Última edición por Neftali [Germán.Estévez] fecha: 09-10-2023 a las 16:30:57. Razón: Añadir TAGs al código |
#3
|
||||
|
||||
Cita:
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. |
#4
|
||||
|
||||
Para obtener la ruta de instalación de otro programa utilizando Delphi, generalmente necesitarás buscar en el registro de Windows donde se suelen almacenar las rutas de instalación de las aplicaciones. Aquí te muestro cómo hacerlo:
Este ejemplo asume que estás buscando la ruta de instalación de un programa específico llamado "NombreDelPrograma". Asegúrate de reemplazar este nombre con el nombre real del programa que estás buscando. El código abrirá el registro en la ubicación comúnmente usada para programas instalados y buscará la clave del programa especificado. Luego, leerá el valor de la clave 'InstallLocation' para obtener la ruta de instalación.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Gracias Casimito. El problema que tengo es que no puedo acceder HKEY_LOCAL_MACHINE si el usuario que ejecuta el software no tiene privilegios de administrador.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
#6
|
||||
|
||||
Al final como no encontré una manera de detectar ese trayecto sin tener privilegios de administrador, agregué un campo en la tabla de configuración donde especifico el trayecto manualmente.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Detectar USB | mefixxto | API de Windows | 6 | 31-12-2010 21:14:27 |
Detectar GPU | madiazg | Varios | 5 | 28-08-2010 17:58:12 |
Detectar el uso de las Teclas | pichi Vignola | Varios | 1 | 16-06-2006 15:18:38 |
Detectar directorio de instalación de MS Excel | DanForever | API de Windows | 2 | 25-05-2006 14:38:29 |
Detectar IP | Carliviris | Varios | 3 | 17-04-2006 20:18:26 |
|