Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-09-2010
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question listados de software instalado

requiero obtener un listado del software instalado en windows vista y windows 7. ya que he corrido una rutina que encontre en la res mas solo funciona en windows xp.
en windows vista y windows 7 no me aroja nada..
alguien puede ayudarme ??????

Les dejo el codigo que encontre ...
gracias por la ayuda....



Código Delphi [-]
procedure TForm1.ListarAplicaciones( Lista: TListBox );
const
  INSTALADOS = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';
var
  Registro: TRegistry;
  Lista1 : TStringList;
  Lista2 : TStringList;
  j, n : integer;
  auxx : string;
begin
  Registro := TRegistry.Create;
  Lista1 := TStringList.Create;
  Lista2 := TStringList.Create;   // Guardamos todas las claves en la lista 1
  with Registro do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey( INSTALADOS, False );
    GetKeyNames( Lista1 );
  end;    // Recorremos la lista 1 y leemos el nombre del programa instalado
  for j := 0 to Lista1.Count-1 do
  begin
    Registro.OpenKey( INSTALADOS + '\' + Lista1.Strings[j], False );
    Registro.GetValueNames( Lista2 );    // Mostramos el programa instalado sólo si tiene DisplayName
    n := Lista2.IndexOf( 'DisplayName' );
    if ( n <> -1 ) and ( Lista2.IndexOf('UninstallString') <> -1 ) then
    begin  //      Listbox1.Items.Add( ( Registro.ReadString( Lista2.Strings[n] ) ) );
      RichEdit1.Lines.Add( (chr(9)+'-'+Registro.ReadString( Lista2.Strings[n] ) )+#9+auxx );
    end;
  end;   //  Listbox1.Sorted := True; // Ordenamos la lista alfabéticamente
  Lista1.Free;
  Lista2.Free;
  Registro.CloseKey;
  Registro.Destroy;
end;
Responder Con Cita
  #2  
Antiguo 22-09-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 22
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
No tengo Vista ni Windows 7, pero creo que debes buscar por aqui...

Código Delphi [-]
const
  INSTALADOS = '\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';

Seguramente la clave del registro para Vista y Win7 debe ser diferente...revisa el registro y busca a mano hasta dar con las claves correctas...

Saludos
Responder Con Cita
  #3  
Antiguo 23-09-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Probé el código en Windows Vista y sí me funciona. Quizá lo estás ejecutando desde una cuenta sin privilegios para leer esa clave del registro.

// Saludos
Responder Con Cita
  #4  
Antiguo 23-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
También puedes acceder utilizando WMI (Windows Management Instrumentation). Para ello existe la Clase Win32_Product. Hace tiempo hice un ejemplo para esto mismo y puedes descargar el código y el ejecutable desde mi web, además de la explicación de la clase y el proceso.

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 23-09-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Guau! Neftalí, comienzo a sospechar que eres un clon de Zarko Gajic. ¿Hay algún tema al que no le hayas hincado el diente?

// Saludos
Responder Con Cita
  #6  
Antiguo 23-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
¿Hay algún tema al que no le hayas hincado el diente?
Muchos, todavía hay muchos...

La verdad es que WMI es un tema muy interesante y hace tiempo que me estoy "peleando" con ella. El potencial es muy grande.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 23-09-2010
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
Me has dejado de piedra. ¡Eres un monstruo!

Saludos
Responder Con Cita
  #8  
Antiguo 28-08-2012
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Estoy utilizando WMI para acceder a la clase Win32_Product.

Para mí sorpesa, no me lista todo el software instalado.

Sin embargo, accediendo a Software\Microsoft\Windows\CurrentVersion\Uninstall a través de la API, me lista todo el software:

http://www.swissdelphicenter.ch/en/showcode.php?id=480

Mi interés en utilizar WMI es la facilidad de acceder a equipos remotos. ¿Cómo puedo solucionarlo?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas con listados Crisperre Impresión 2 06-05-2010 16:19:38
Dos Listados en la misma página ignacioghir Impresión 4 25-08-2008 17:06:03
Problema en los listados con la ñ Patricio SQL 4 10-04-2007 11:00:39
Listados o informes con ppReport verodelphi Impresión 0 06-11-2006 14:58:01
Listados con ppReport verodelphi Lazarus, FreePascal, Kylix, etc. 0 31-10-2006 09:24:24


La franja horaria es GMT +2. Ahora son las 07:39:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi