Ver Mensaje Individual
  #3  
Antiguo 23-11-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Vaya chackall, yo lo estaba intentando de esta manera:
Código Delphi [-]
var
  ScriptControl: OleVariant;
  WmiService: OleVariant;
  Items: IUnknown;
  Enum: IEnumVariant;
  Fetched: Cardinal;
  Item: OleVariant;
begin
  ScriptControl:= CreateOleObject('ScriptControl');
  ScriptControl.Language := 'VBScript';
  WmiService:= ScriptControl.Eval('GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")');
  Items:= WMIService.ExecQuery('Select * from Win32_OnBoardDevice')._NewEnum;
  Enum:= Items as IEnumVariant;
  Enum.Reset;
  Enum.Next(1, Item, Fetched);
  while Fetched = 1 do
  begin
    if not VarIsNull(Item.Description) then
      Memo1.Lines.Add(Item.Description);
    Enum.Next(1, Item, Fetched);
  end;
end;
Pero no daba con la manera de enumerar la colección devuelta por ExecQuery, gracias por el código me has ahorrado mucho tiempo.
Responder Con Cita