Lenguaje de programación Borland Delphi
Pondremos un botón y un TMemo en un formulario. Al pulsar el botón se llenará el Memo con la lista de los programas instalados y la ruta para desinstalación. Será necesario incluir en el USES del formulario REGISTRY. En el evento click del botón pondremos el siguiente código:
procedure TForm1.Button1Click(Sender: TObject);
const CLAVE =
'\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';
var
reg : TRegistry;
Lista : TStringList;
Lista2 : TStringList;
i,n : integer;
begin
mp.Clear;
txtpcerrar.Clear;
{Creamos temporales}
reg := TRegistry.Create;
Lista := TStringList.Create;
Lista2 := TStringList.Create;
{Cargamos todas las subkeys}
{Load all the subkeys}
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey(CLAVE,false);
GetKeyNames(Lista);
end;
{Cargamos todos los Nombres de valores}
for i := 0 to Lista.Count -1 do
begin
reg.OpenKey(CLAVE + '\' +Lista.Strings[i],false);
reg.GetValueNames(Lista2);
{Mostraremos sólo los que tengan 'DisplayName'}
n:=Lista2.IndexOf('DisplayName');
if (n <> -1) and (Lista2.IndexOf('UninstallString')<>-1) then
begin
{DisplayName+UnInstallString}
Mp.Lines.Append (reg.ReadString(Lista2.Strings[n])+' -
'+ reg.ReadString(Lista2.Strings Lista2.IndexOf('UninstallString')]));
end;
end;
{Liberamos temporales}
Lista.Free;
Lista2.Free;
reg.CloseKey;
reg.Destroy;
end;
Publicado el: 2003-10-14