Ver Mensaje Individual
  #2  
Antiguo 13-03-2013
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 26
maeyanes Va por buen camino
Hola...

Lo que tienes que haces es usar arreglos de string para obtener la lista de subkeys con la función RegGetSubkeyNames y el valor de DisplayName usando la función RegQueryStringValue, la misma ayuda de InnoSetup tiene ejemplos.

Código Delphi [-]
const
  UninstallKey = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';
var
  Installed: TArrayOfString;
  I: Integer;
  AppName: string;
  AppNameList: TStringList;

begin
  if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, UninstallKey, Installed) then
  begin
    AppNameList := TStringList.Create;
    AppNameList.Sorted := True;
    for I := 0 to GetArrayLength(Installed) do
      if RegQueryStringValue(HKEY_LOCAL_MACHINE, UninstallKey + '\' + Installed[i], 'DisplayName', AppName) and (AppName <> '') then
        AppNameList.Add(AppName)
  end
end;



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita