我编写了一个函数,该函数使用 WMI 获取计算机上已安装软件的列表
begin
Result:='';
FWbemObjectSet:= FWMIService.ExecQuery(Format('Select %s from %s',[WMIProperty, WMIClass]),'WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
if not VarIsNull(FWbemObject.Properties_.Item(WMIProperty).Value) then
Result:=FWbemObject.Properties_.Item(WMIProperty).Value;
ClientForm.TreeView1.Items.AddChild(Node, Format('%s',[String(FWbemObject.Name)]));
FWbemObject:=Unassigned;
end;
end;
该函数通过以下代码在 FormCreate 处执行:
GETWMIstringSW('Win32_Product','Name');
我的问题是,如何更改 ImageIndex 和 StateIndex?我想在函数中添加另一行代码来获取版本,就像这样
(Format('Version %s',[String(FWbemObject.Version)]));
但是我被卡住了,你们能指出我正确的方向吗?太感谢了。