Obtener la lista de aplicaciones instaladas
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyshyawlyPA0PHqwngGHx4r20RGuFyYRXI0kt75mfuGkBaqME0MC8i3ffUoB3C_vatriSpQNSTT3-i9ei5hOgba1Kxm7-OVF5icZN4ZVr0iow03tbELJ7pf6hsRVLq-uQDkIi5AUUxtvyW/s400/images.jpeg)
Software\Microsoft\Windows\CurrentVersion\UnInstall
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQwgFfo5ksw3wsLKPcQE-K2lii-cq1AnnNJGdRP6f7jz84b14byAPZbJ_MGqRlyrfJ0eltPolgif1TMPpjo2WXZa4hx3n8ClFiZnC5x9oOfKFMnSeHC-CA82yQ5kbjrckB4tqnJ7NL2lM3/s400/Dibujo2.bmp)
Aquí os dejo el código fuente:
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Registry; const sUninstall = 'Software\Microsoft\Windows\CurrentVersion\UnInstall'; procedure TForm1.GettAppInstalled(hKey: Cardinal; memoResult: TMemo); function PrintVersion(version: string): string; begin if version = '' then result := '' else result := ' - ' + version; end; var RegList: TStrings; i: Integer; sVersion: string; Registry: TRegistry; begin RegList := TStringList.Create; Registry := TRegistry.create(); Registry.RootKey := hKey; if Registry.OpenKey(sUninstall, False) then begin Registry.GetKeyNames(RegList); Registry.CloseKey; for i := 0 to RegList.Count - 1 do begin if Registry.OpenKey(sUninstall + '\' + RegList[i], False) then begin sVersion := ''; if Registry.ValueExists('DisplayVersion') then sVersion := 'Version ' + Registry.ReadString('DisplayVersion'); if CheckBox1.checked then Memo1.lines.Add(RegList[i] + PrintVersion(sVersion)) else if AnsiPos('{', RegList[i]) = 0 then Memo1.lines.Add(RegList[i] + PrintVersion(sVersion)); Registry.CloseKey end; end; end; FreeAndNil(Registry); FreeAndNil(RegList); end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.lines.Clear; Memo1.lines.add('************ HKEY_LOCAL_MACHINE ************'); GettAppInstalled(HKEY_LOCAL_MACHINE, Memo1); Memo1.lines.add('********************************************'); Memo1.lines.add('************ HKEY_CURRENT_USER ************'); GettAppInstalled(HKEY_CURRENT_USER, Memo1); Memo1.lines.add('********************************************'); end;
Y una muestra de la aplicación:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLBxiPwmRMz7w3AD4ITW1A0qURGAP9FGwbcZPIaKG_bpEWRiHCWqmvIqneT-t59q9HHDL-_S3Ghyphenhyphenc6itucog1SxZ7Bx9JwWazzfoQQDN2XrDbc360jAKoDJywPzvfKS9AwQjd6o3XCC5j0/s400/Dibujo1.bmp)
Ahora mediante la aplicación, podemos seleccionar todo el texto y copiarlo y guardarlo donde queramos, de ésta manera podemos saber que aplicaciones tenemos instaladas en nuestro equipo de manera rápida y fácil. La aplicación funciona perfectamente para Windows XP y Vista.
Comments
Post a Comment