Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.05 c
2-1190787716
F@T@L_Err0r
2007-09-26 10:21
2007.10.21
Desktop lock


2-1190654029
Евгений Р.
2007-09-24 21:13
2007.10.21
Номер записи в tCollection


2-1191060985
antonn
2007-09-29 14:16
2007.10.21
GetProcessAffinityMask


15-1190470279
Riply
2007-09-22 18:11
2007.10.21
IExplorer 7 и запоминание паролей.


2-1190972872
Riply
2007-09-28 13:47
2007.10.21
FreeLibrary для самой себя из APC-нити





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский