【发布时间】:2017-05-24 23:07:37
【问题描述】:
我从List all physical printers using WMI query in Inno Setup 获得了一个代码,我想将结果添加到列表框中。在询问之前我已经尝试过这样做,但我无法添加所有项目。这是我的代码:
var
Query, AllPrinters: string;
WbemLocator, WbemServices, WbemObjectSet: Variant;
Printer: Variant;
I: Integer;
begin
WbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
WbemServices := WbemLocator.ConnectServer('.', 'root\CIMV2');
Query := 'SELECT Name FROM Win32_Printer';
WbemObjectSet := WbemServices.ExecQuery(Query);
if not VarIsNull(WbemObjectSet) and (WbemObjectSet.Count > 0) then
begin
for I := 0 to WbemObjectSet.Count - 1 do
begin
Printer := WbemObjectSet.ItemIndex(I);
if not VarIsNull(Printer) then
begin
Log(Printer.Name);
AllPrinters := Printer.Name;
end;
end;
end;
end;
然后在自定义页面上执行此操作:
ListBoxPrinters.Items.Add(AllPrinters);
【问题讨论】:
标签: inno-setup wmi-query pascalscript