的WMI雖然我明白,我怎麼連接到WMI並獲得更多有需要的信息,我不明白什麼是我們這個while循環(while oEnum.Next(1, FWbemObject, iValue) = 0 do
)需要什麼?從How to get the installed video card (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? –
我沒有把它當作你的問題來解釋。我把它理解爲「爲什麼這個循環在這裏?」 –