Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.21;
Скачать: CL | DM;

Вниз

WMI и сеть   Найти похожие ветки 

 
pirks ©   (2007-08-08 13:41) [0]

у меня такакя проблема :
C помощью WMI получил свединия о первой сетевухе

var
 Service:             ISWbemServices;
 ObjectSet:           ISWbemObjectSet;
 SObject:             ISWbemObject;
 PropSet:             ISWbemPropertySet;
 SProp:               ISWbemProperty;

 PropEnum, Enum:      IEnumVariant;
 TempObj:             OleVariant;
 Value:               Cardinal;
 StrValue:            string;
 na :                 integer ;

begin
 na := 1 ;

 Service:= DM.SWLocator.ConnectServer( Name , "root\CIMV2" , User , Password , "" , "" , 0 , nil);
 SObject:= Service.Get("Win32_NetworkAdapter", wbemFlagUseAmendedQualifiers, nil);
 ObjectSet:= SObject.Instances_(0, nil);

 Enum:= (ObjectSet._NewEnum) as IEnumVariant;
 Enum.Next(1, TempObj, Value);
 SObject:= IUnknown(TempObj) as SWBemObject;

 PropSet := SObject.Properties_;
 PropEnum := (PropSet._NewEnum) as IEnumVariant;

 // начинаю перебирать свойства
 while (PropEnum.Next(1, TempObj, Value) = S_OK) do
 begin
   SProp:= IUnknown(TempObj) as SWBemProperty;
   if (SProp.Get_Value <> null) then
   begin
     with SProp do
     begin
       if Name = "SystemName" then
         MainInfo.NET.SystemName := Get_Value
     else if Name = "Caption" then
       MainInfo.NET.Adapter[na].Caption := Get_Value
     else if Name = "Name" then
       MainInfo.NET.Adapter[na].Name := Get_Value
     else if Name = "ServiceName" then
       MainInfo.NET.Adapter[na].ServiceName := Get_Value
     else if Name = "Description" then
       MainInfo.NET.Adapter[na].Description := Get_Value
     else if Name = "Manufacturer" then
       MainInfo.NET.Adapter[na].Manufacturer := Get_Value
     else if Name = "DeviceID" then
       MainInfo.NET.Adapter[na].DeviceID := Get_Value
     else if Name = "MACAddress" then
       MainInfo.NET.Adapter[na].MACAddress := Get_Value
   end; { with }
 end; { if 1 }

 end;

Всё отлично работает но как получить данные остальных карт у меня лично их 2
Кто нибудь знает ?
Заранее спасибо


 
Сергей М. ©   (2007-08-08 13:44) [1]


> у меня лично их 2


У тебя-то может их и две, а на удаленном компе вполне может быть и одна)


 
pirks ©   (2007-08-08 13:46) [2]

нет я проверял и на своём у меня 2 своих + VMWare ещё  1


 
Сергей М. ©   (2007-08-08 13:53) [3]

Ну так у тебя ж реализован цикл по ВСЕМ "адаптерам" !

В чем проблема-то ?


 
Lacmus ©   (2007-08-08 13:56) [4]

>pirks ©   (08.08.07 13:41)
Enum.Next(1, TempObj, Value); ?


 
pirks ©   (2007-08-08 14:04) [5]

работает !!! Точняк    Enum.Next(1, TempObj, Value);
Спасибо всем за внимаеие :)



Страницы: 1 вся ветка

Текущий архив: 2007.10.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
2-1190672814
Servelat
2007-09-25 02:26
2007.10.21
Цепочки битов


15-1190435954
vasIZmax
2007-09-22 08:39
2007.10.21
Пятиминутный досуг


15-1190640366
мастерПакость
2007-09-24 17:26
2007.10.21
HTML


4-1176797461
pound
2007-04-17 12:11
2007.10.21
Как определить положение курсора в редактируемой ячейке в TString


2-1190799956
Гелена
2007-09-26 13:45
2007.10.21
Как реализовать запрет деакривации дочернего окна в MDI-приложени