Главная страница
    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.45 MB
Время: 0.046 c
2-1190951690
zzzz
2007-09-28 07:54
2007.10.21
Компонент DbEdit, узнать код клавиши разделителя


3-1182168098
Павел Калугин
2007-06-18 16:01
2007.10.21
Очередные извращения в TSql


2-1191294121
Создатель форм
2007-10-02 07:02
2007.10.21
переключение между MDI Child


15-1190265156
vrem
2007-09-20 09:12
2007.10.21
что бы в досе не гудел!


2-1190723682
smak
2007-09-25 16:34
2007.10.21
Как заставить прогу реагировать на события при обр. запроса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский