![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
чтение 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 или х.з. как там...