
11.01.2014, 15:25
|
Прохожий
|
|
Регистрация: 01.06.2012
Сообщения: 44
Репутация: 10
|
|
Сам спросил.Сам отвечаю:
Код:
procedure GetWMI;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObjectSet: OLEVariant;
FWbemObject : OLEVariant;
oEnum : IEnumvariant;
iValue : LongWord;
begin;
FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('.', 'root\CIMV2', '', '');
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_Share','WQL',$00000020);
oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
while oEnum.Next(1, FWbemObject, iValue) = 0 do
begin
Form1.memo2.lines.add(Format('Caption %s',[String(FWbemObject.Caption)]));// String
Form1.memo2.lines.add(Format('Description %s',[String(FWbemObject.Description)]));// String
Form1.memo2.lines.add(Format('Name %s',[String(FWbemObject.Name)]));// String
Form1.memo2.lines.add(Format('Path %s',[String(FWbemObject.Path)]));// String
Form1.memo2.lines.add('***');
FWbemObject:=Unassigned;
end;
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
try
CoInitialize(nil);
try
GetWMI;
finally
CoUninitialize;
end;
except
on E:EOleException do
Form1.memo1.lines.add(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
on E:Exception do
Form1.memo1.lines.add(E.Classname, ':', E.Message);
end;
end;
|