Delphi怎么取卸载程序的图标啊???
Delphi怎么取卸载程序的图标啊,
const //显示安装过的程序软件=====================================
Cur ='\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall';
var
reg : TRegistry;
List1 : TStringList;
List2 : TStringList;
i,n,m ,mIcon : integer; //n为程序名的,M为卸载路径的,mIcon为图标的
mItem:TListItem;
//-------下面两个用于载入图标的处理-----
FileName: AnsiString;
Ico:TIcon;
begin
form1.ListView1.Clear ;//先清除ListView
reg := TRegistry.Create;
List1 := TStringList.Create;
List2 := TStringList.Create;
//载入子键
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey(Cur,false);
GetKeyNames(List1);
end;
for i := 0 to List1.Count -1 do
begin
reg.OpenKey(Cur + '\' +List1.Strings[i],false);
reg.GetValueNames(List2);
//显示安装程序以 DisplayName排序
n:=List2.IndexOf('DisplayName');
m:=List2.IndexOf('UninstallString');
mIcon:=List2.IndexOf('DisplayIcon');
if (n <> -1) and (List2.IndexOf('UninstallString')<>-1) then
begin
//显示已经安装程序名称
mItem:=form1.ListView1.Items.Add();
mItem.Caption :=(reg.ReadString(List2.Strings[n])); //显示程序名
// Ico:=TIcon.Create;
// ico:=(reg.ReadString(List2.Strings[mIcon]));//显示程序图标的
// mItem.ImageIndex:=ImageList1.AddIcon(ico);
mItem.SubItems.Add(reg.ReadString(List2.Strings[m]));//显示程序卸载路径
end;
end;
//释放对象
List1.Free;
List2.Free;
reg.CloseKey;
reg.Destroy;
end;
如上代码,取出系统安装过的程序名及路径,但图标取不出来,怎么办啊,请各位请点一下下,先谢谢啦!!!!!!!!!