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

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

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2010, 12:03   #1
Artemprodigy
 
Регистрация: 27.10.2010
Сообщений: 3
По умолчанию Как получить IP адреса??

Есть 2 КомбоБокса, в первом список сетевых адаптеров, а во втором должен быть список выбраного адаптера. Только в этом коже он показывает IP адреса первого и всё(((( Подскажите что исправить или добавить??

Код:
void CDialogDlg::OnCbnDropdownIntarface()
{
	//m_Interface.de();
	AdapterInfoSize = 0;

    if ((Err = GetAdaptersInfo(NULL, &AdapterInfoSize)) != 0)
    {
        if (Err != ERROR_BUFFER_OVERFLOW)
        {
            AfxMessageBox("Work's in Windows 2000 & Windows 9X");
			WinExec("cmd /k route print",SW_NORMAL);	//запуск стандартной утилиты route от Microsoft, которая выводит инфу об сетевых адаптерах, а для нас об интерфейсах
            return;
        }
    }

    // Allocate memory from sizing information - выделяем память под информацию о сетевых адаптерах
    if ((pAdapterInfo = (PIP_ADAPTER_INFO) GlobalAlloc(GPTR, AdapterInfoSize)) == NULL)
    {
        AfxMessageBox("Memory allocation error");
        return;
    }

    // Get actual adapter information
    if ((Err = GetAdaptersInfo(pAdapterInfo, &AdapterInfoSize)) != 0)
    {
        AfxMessageBox("GetAdaptersInfo failed with error");
        return;
    }
   
	pAdapt = pAdapterInfo;

while (pAdapt)
   {
	   m_Interface.AddString (pAdapt->Description );
	   pAdapt = pAdapt->Next;
   }

}
Вот поиск IP
Код:
void CDialogDlg::OnCbnCloseupIntarface()
{
	// TODO: добавьте свой код обработчика уведомлений
	AdapterInfoSize = 0;

    if ((Err = GetAdaptersInfo(NULL, &AdapterInfoSize)) != 0)
    {
        if (Err != ERROR_BUFFER_OVERFLOW)
        {
            AfxMessageBox("Work's in Windows 2000 & Windows 9X");
			WinExec("cmd /k route print",SW_NORMAL);	//запуск стандартной утилиты route от Microsoft, которая выводит инфу об сетевых адаптерах, а для нас об интерфейсах
            return;
        }
    }

    // Allocate memory from sizing information - выделяем память под информацию о сетевых адаптерах
    if ((pAdapterInfo = (PIP_ADAPTER_INFO) GlobalAlloc(GPTR, AdapterInfoSize)) == NULL)
    {
        AfxMessageBox("Memory allocation error");
        return;
    }

    // Get actual adapter information
    if ((Err = GetAdaptersInfo(pAdapterInfo, &AdapterInfoSize)) != 0)
    {
        AfxMessageBox("GetAdaptersInfo failed with error");
        return;
    }
   
	pAdapt = pAdapterInfo;

	pAddrStr = &(pAdapt->IpAddressList);
	while(pAddrStr)
            {
				m_IP.AddString(pAddrStr->IpAddress.String);
											
                pAddrStr = pAddrStr->Next;
            }

	
}
Artemprodigy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать все IP-адреса компьютера. Proger10 Работа с сетью в Delphi 8 19.02.2012 00:14
Поскажите как определить ip адреса компьютеров в сети и их имена?ов в SeЯgey Работа с сетью в Delphi 11 21.10.2010 20:47
Как отследить конфликт IP адреса в LAN сети SeRhy Работа с сетью в Delphi 3 22.03.2010 21:01
получить кусок из адреса memka PHP 3 08.04.2009 12:52
Как узнать из адреса файл это или папка? Anfall Общие вопросы Delphi 12 25.02.2009 23:40