Часто задаваемые вопросы и ответы по C/C++/Visual C++
Последнее обновление: 27.08.2003
FAQ по C/C++/Visual C++
Работа с сетью
Что такое iphelper API и с чем их едят
Составители: SUnteXx, Leprecon
Что такое IP Helper и как узнать настройки сети?
A: (Alfa)
Оригинальная ссылка: нету

Internet Protocol Helper - эту фишку Мелкософт включила в Винь'98 и все последующие версии Винды. Эта штука нужна для сетевого администрирования.
С помощью IP Helper можно извлечь информацию о сети данного компьютера, но только локально! Удаленно не выйдет :(
В принципе, можно не только узнать конфигурацию, но и менять ее (опять же локально).

В MSDN про IP Helper написано плохо, вот ссылка, там все понятно (и по русски!):
http://surgeon666.chat.ru/articles/IP_Helper/IP%20Helper.htm

Для испрользования IP Helper API нужно включить в проект заголовок iphlpapi.h и iphlpapi.lib.

Ну а вот пример, который отвечает еще на один вопрос: "Как узнать настройки сети?". Сразу же предупрежу - скорее всего проект не скомпилируется! В дистрибутиве VC++ 6.0. iphlpapi.h нету :( Он есть в SDK и лежит отдельно в инете. Я скачал из инета iphlpapi.h и iphlpapi.lib. Поищите на http://www.ya.ru, там где-то было. Лучше скачайте chm-версию FAQа, там все нужное есть :)


#include <windows.h>
#include <iphlpapi.h>
#include <iostream.h>
#include <conio.h>

void main()
{
    FIXED_INFO fi;
    ULONG l=sizeof(FIXED_INFO);
    if (GetNetworkParams(&fi,&l) == ERROR_SUCCESS)//Получили параметры сети,
    //их очень много, выведем на экран 3 основных:
    {
        cout << fi.HostName << endl;
        cout << fi.DomainName << endl;
        cout << fi.CurrentDnsServer << endl;
        getch();
    }
}

Содержание Обсудить на форуме « Предыдущая статья | Следующая статья »
Перейти к FAQ:  
FAQ составлен по материалам Форума на Исходниках.Ру.
Copyright © 2002 by Sources.ru. All rights reserved.