Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2012, 12:25   #1
No_Comments
Пользователь
 
Регистрация: 03.07.2011
Сообщений: 92
Лампочка WMI

Здравствуйте!

По задание необходимо собрать кое-какую информацию с железа с помощью WMI. Язык программирования С#.
Нашла статью, взяла оттуда код, но выдается ошибка "Ссылка на объект не указывает на экземпляр объекта."
Можете подсказать, в чем дело?
Код:
 private void button1_Click(object sender, EventArgs e)
        {
            string Q = "Select * FROM Win32_NetworkAdapter";
            string result = string.Empty;
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(Q);
            foreach (ManagementObject obj in searcher.Get())
            {
                result = obj["MACAddress"].ToString();
            }
            textBox1.Text = result;    
        }
/* в данном примере хочу получить мак-адресс сетевой карты компьютера*/

Также хочу узнать по поводу такого метода, как GetDeviceArray
(
Код:
List<string> res = GetDeviceArray("Win32_DiskDrive", "Name");
)
Что необходимо подключить, чтобы этот метод работал?
No_Comments вне форума Ответить с цитированием
Старый 19.10.2012, 14:01   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Не у всех возвращаемых адаптеров есть поле MACAddress. Добавь проверку
Код:
if (obj["MACAddress"] != null)
Son Of Pain вне форума Ответить с цитированием
Старый 19.10.2012, 21:28   #3
No_Comments
Пользователь
 
Регистрация: 03.07.2011
Сообщений: 92
По умолчанию

Я правильное понимаю, что NetworkAdapter - это сетевая карта?
Разве компьютер, который имеет возможность выходить в интернет, может не иметь сетевой карты? Ведь у карты обязательно есть МАК адрес.
No_Comments вне форума Ответить с цитированием
Старый 19.10.2012, 22:37   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Там кроме реальных сетевых карт возвращается еще пачка виртуальных адаптеров, созданных системой или другим софтом. И у них мак-адрес может быть не прописан (или прописан не там, откуда его читает wmi).
Son Of Pain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WMI Delphi Spownc Общие вопросы Delphi 4 19.01.2012 10:22
delphi + WMI fate Общие вопросы Delphi 2 07.10.2011 08:27
работа с WMI Зампотех C# (си шарп) 2 27.05.2011 08:47
mingw wmi the_deer_one Общие вопросы C/C++ 2 25.08.2010 21:23
блокировка WMI north Win Api 2 15.02.2009 16:54