![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WMI [D7, Win2k, WinXP]
apic © (2007-02-01 07:35:00)При работе с WMI часто сталкиваешься с типом Enumerate в скриптах, вродебы все понятно как переделать на Delphi (ComObj, тип OLEVariant), а вот как работать с етим Enumerate , какой тип применять и как перебирать значения?
APiC (2007-02-08 07:02:00) [1]Спассбо за исходник!
Eraser (2007-02-01 21:09:00) [2]> [0] apic © (01.02.07 07:35)
примерно так
var
Service: ISWbemServices;
objSet: ISWbemObjectSet;
TempObj, ObjProcess: OleVariant;
objSet := Service.ExecQuery('SELECT * FROM Win32_Process WHERE Name = ''Some.exe''',
'WQL', wbemFlagReturnImmediately, nil);
Enum := (objSet._NewEnum) as IEnumVariant;
while (Enum.Next(1, TempObj, Value) = S_OK) do
begin
ObjProcess := IUnknown(tempObj) as SWBemObject;
ObjProcess.Terminate;
end;
umbra (2007-02-01 12:35:00) [3]К тому же все они есть в модуле ActiveX.
umbra (2007-02-01 10:42:00) [4]Скорее всего, у него есть методы Next, Reset, Skip и Clone. В общем, посмотрите в мсдн или сдк справку по интерфейсам IEnum{что-то там}