unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,registry, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
reg:TRegistry;
myList:TStringList;
i:integer;
curkey,SName:string;
begin
reg:=TRegistry.Create;
MyList:=TStringList.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
if reg.OpenKey(SoftwareMicrosoftWindowsCurrentVersionuninstall,False) then
Begin
reg.GetKeyNames(myList);
curkey:=reg.CurrentPath;
reg.CloseKey;
for i:=0 to MyList.Count-1 do
if reg.OpenKey(curKey++MyList.Strings[i],False) then
Begin
if reg.ValueExists(DisplayName) then
Sname:=reg.ReadString(DisplayName)
else
SName:=MyList.Strings[i];
if reg.ValueExists(DisplayVersion) then
Sname:=Sname+ 版本:+reg.ReadString(DisplayVersion)
else
SName:=MyList.Strings[i];
Listbox1.Items.Add(SName);
reg.CloseKey;
end;
end;
end;
end.