Ver Mensaje Individual
  #2  
Antiguo 23-11-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Reputación: 29
jhonny Va camino a la famajhonny Va camino a la fama
Realmente no he probado lo que voy a decir, pero intenta hacerlo de la siguiente manera y nos cuentas como te va:

Código Delphi [-]
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;
     OpenKeyReadOnly(CLAVE,false);
     GetKeyNames(Lista);
   end;

   {Cargamos todos los Nombres de valores}
   for i := 0 to Lista.Count -1 do
   begin
     reg.OpenKeyReadOnly(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;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita