Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

чтение WMI


toropoff ©   (2012-04-01 04:23:00) 

подскажите пожалуйста,

function getWMIdata(val: String): AnsiString;
var
 objSWbemLocator : OLEVariant;
 objWMIService   : OLEVariant;
 objWbemObjectSet: OLEVariant;
 oWmiObject      : OLEVariant;
 oEnum           : IEnumvariant;
 iValue          : LongWord;
 s: String;
begin
   s:='';
   objWbemObjectSet:= objWMIService.ExecQuery('SELECT * FROM '+val,'WQL',0);
   oEnum           := IUnknown(objWbemObjectSet._NewEnum) as IEnumVariant;
   while oEnum.Next(1, oWmiObject, iValue) = 0 do  begin

      s:= s + VarStrNull(oWmiObject.Properties_.Items(тут нужно указать имя поля).value)+#13;
      oWmiObject:=Unassigned;
   end;

end;

...
getWMIdata('Win32_BIOS');

вот и загвоздка в том, что не знаю какие поля в таблицах могут быть...

s:= s + VarStrNull(oWmiObject.Properties_.Item(тут нужно указать имя поля).value)+#13;

смотрю описан

 IEnumVARIANT = interface(IUnknown)
   ['{00020404-0000-0000-C000-000000000046}']
   function Next(celt: LongWord; var rgvar : OleVariant;
     out pceltFetched: LongWord): HResult; stdcall;
...
 end;

что такое rgvar : OleVariant так и не понял..
может подскажите, где посмотреть какие свойства.методы есть?

например хотелось бы что то типа:

oWmiObject.Properties_.Items.COUNT
oWmiObject.Properties_.Items(id)

методом тыка не нашел..
как тут можно вывести данные полей не зная их имена?

простите если вопрос задал непонятно..


Сергей М.   (2012-04-01 12:09:00) [1]

http://www.softsoft.ru/downloads/46288.exe


Сергей М.   (2012-04-01 11:59:00) [2]

http://www.activexperts.com/admin/scripts/wmi/


toropoff   (2012-04-01 04:30:00) [3]

да, меня интересует не именно Win32_BIOS, в ней я понял что есть:
'BIOSVersion','BuildNumber','Description','Manufacturer','Name','SerialNumber',' Version'

хочу для интереса пересмотреть все таблицы что там за инфа есть...
и для универсальности необходимо как-то читать поле по id или х.з. как там...


Наверх

Титульная страница Поиск, карта сайта Написать письмо