Ver Mensaje Individual
  #4  
Antiguo 10-10-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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:
  1. Accede al registro de Windows: Utiliza las funciones de la unidad Registry para acceder al registro de Windows.
  2. Encuentra la clave del registro del programa: Busca la clave del registro correspondiente al programa cuya ruta de instalación deseas obtener. La ubicación de esta clave puede variar según el programa. Generalmente, se encuentra en la ruta HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall o en HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall en sistemas de 64 bits.
  3. Lee el valor de la clave de instalación: Una vez que encuentres la clave del programa, lee el valor de la entrada del registro que contiene la ruta de instalación.
Aquí tienes un ejemplo básico en Delphi para obtener la ruta de instalación de un programa específico a partir de su clave de registro:
Código Delphi [-]
unit MainForm;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Registry;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
  ProgramName: string;
begin
  // Especifica el nombre del programa cuya ruta deseas obtener
  ProgramName := 'NombreDelPrograma';

  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKeyReadOnly('Software\Microsoft\Windows\CurrentVersion\Uninstall\' + ProgramName) then
    begin
      if Reg.ValueExists('InstallLocation') then
        Memo1.Lines.Add('Ruta de instalación de ' + ProgramName + ': ' + Reg.ReadString('InstallLocation'))
      else
        Memo1.Lines.Add('No se encontró la ruta de instalación para ' + ProgramName);
    end
    else
      Memo1.Lines.Add('No se encontró información en el registro para ' + ProgramName);
  finally
    Reg.Free;
  end;
end;

end.
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.
Responder Con Cita