Хотя я понимаю, как я подключиться к WMI и получить это информация необходима, я не могу понять, что наша потребность в этом в то время как петля (while oEnum.Next(1, FWbemObject, iValue) = 0 do
)? От How to get the installed video card (Delphi):Доступ к WMI из Delphi
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
FWbemObjectSet:= FWMIService.ExecQuery('SELECT Name,PNPDeviceID FROM Win32_VideoController','WQL',wbemFlagForwardOnly);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
Writeln(Format('Name %s',[String(FWbemObject.Name)]));// String
Writeln(Format('PNPDeviceID %s',[String(FWbemObject.PNPDeviceID)]));// String
Writeln;
FWbemObject:=Unassigned;
end;
Возможно, имеется более одной видеокарты. –
и какой технический ответ? Я имею в виду, почему это = 0? –
Я не рассматривал это как ваш вопрос. Я понял это как «Почему этот цикл здесь?» –