Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
55 / 59 / 14
Регистрация: 26.11.2010
Сообщений: 192

Добавить к программе вывод ip-адресов компьютеров

25.10.2016, 11:08. Показов 1087. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется программа выводит имя компьютеров, необходимо чтоб выводила IP-адреса, что необходимо добавить в коде имеется эта реализация но как я понимаю нет реализации самой функции GetIP. Помогите кто знает.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
BOOL EnumHandler( HWND hWnd, DWORD dwLevel, LPNETRESOURCE lpNet ) 
{ 
   BOOL ret=TRUE; 
   DWORD dwStatus, dwSize, dwEntries, i, j; 
   LPSTR lpStr=NULL; 
   LPNETRESOURCE lpNewNet=NULL; 
   HANDLE hEnum=NULL; 
 
   dwStatus = WNetOpenEnum( RESOURCE_GLOBALNET,
                            RESOURCETYPE_ANY,  
                            0, lpNet, &hEnum ); 
   if( dwStatus != NO_ERROR ){ ret=FALSE; goto mend; } 
   dwEntries = 1000;
   dwSize = sizeof(NETRESOURCE) * dwEntries; 
   lpNewNet=(LPNETRESOURCE)new char[dwSize]; 
   if(!lpNewNet){ ret=FALSE; goto mend; } 
   dwStatus = WNetEnumResource( hEnum, &dwEntries, (LPVOID)lpNewNet, &dwSize ); 
 
   if( dwStatus != NO_ERROR )
   { 
      ret=FALSE; goto mend; 
   } 
   WNetCloseEnum( hEnum );
   hEnum=NULL; 
 
   lpStr=new char[512]; 
   if(!lpStr){ ret=FALSE; goto mend; } 
   for( i = 0; i < dwEntries; i++ )
   { 
      if( lpNewNet[ i ].dwDisplayType==RESOURCEDISPLAYTYPE_NETWORK) 
      { 
            strcpy( lpStr, lpNewNet[ i ].lpProvider ); 
      } 
 
      if( lpNewNet[ i ].lpRemoteName )
      { 
         if( lpNewNet[ i ].dwDisplayType == RESOURCEDISPLAYTYPE_DOMAIN ) 
            strcpy( lpStr, "Domain..." ); 
 
         if( lpNewNet[ i ].dwDisplayType == RESOURCEDISPLAYTYPE_GENERIC ) 
            strcpy( lpStr, "Generic.." ); 
 
         if( lpNewNet[ i ].dwDisplayType == RESOURCEDISPLAYTYPE_SERVER ) 
            strcpy( lpStr, "Server..." ); 
 
         if( lpNewNet[ i ].dwDisplayType == RESOURCEDISPLAYTYPE_SHARE ) 
            strcpy( lpStr, "Share...." ); 
 
         for( j = 0; j < dwLevel; j++ ) 
            strcat( lpStr, "......" ); 
         strcat( lpStr, lpNewNet[ i ].lpRemoteName ); 
//Добавим IP адрес к концу строки 
// if( lpNewNet[ i ].dwDisplayType == RESOURCEDISPLAYTYPE_SERVER )
//   if(!GetIP(&lpNewNet[ i ].lpRemoteName[2],lpStr))continue;
      } 
      SendMessage( hWnd, LB_ADDSTRING, 0,(LPARAM)lpStr ); 
      UpdateWindow(hWnd); 
        // Уровень детализации вы сможете установить здесь 
      if(dwLevel < 2) //0=Сеть,1=Domain,2=Host,3=Resource 
      EnumHandler( hWnd, dwLevel + 1, lpNewNet + i ); 
   } 
mend: 
   if(hEnum)WNetCloseEnum( hEnum ); 
   if(lpStr)delete lpStr; 
   if(lpNewNet)delete lpNewNet; 
   return ret; 
} 
//-------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) 
{ 
   HCURSOR hOldCursor; 
        //   ListBox1->Clear(); 
   SendMessage(Form1->ListBox1->Handle , LB_RESETCONTENT, 0, 0 ); 
   UpdateWindow(Form1->ListBox1->Handle); 
   hOldCursor = ::SetCursor( LoadCursor( NULL, IDC_WAIT ) ); 
   EnumHandler( Form1->ListBox1->Handle, 0, NULL ); 
   ::SetCursor( hOldCursor ); 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2016, 11:08
Ответы с готовыми решениями:

Как узнать IP адресов всех онлайн компьютеров?
Такое возможно вообще?

Вывести имена компьютеров и ip-адресов в локальной сети
Необходимо вывести имена компьютеров и ip-адреса в локальной сети в ListBox Способ описанный здесь ...

Добавить вывод ранее открывавшихся файлов в программе
Народ как сделать вывод ранее открывавшихся файлов в программе, в программе кодируются и декодируются фаилы как сделать так чтобы выводился...

2
55 / 59 / 14
Регистрация: 26.11.2010
Сообщений: 192
28.10.2016, 14:40  [ТС]
никто не может сделать?
наверно только на словах спецы везде.
0
28.10.2016, 21:03

Не по теме:

Цитата Сообщение от Kenwood2010 Посмотреть сообщение
наверно только на словах спецы везде.
ох, зря вы так... Здесь не обязаны вам ничего. И если вам не отвечают, то, возможно, проблема неинтересна другим.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2016, 21:03
Помогаю со студенческими работами здесь

Типизированные файлы - добавить к программе ввод/вывод
Помогите пжлста добавить к готовой программе следующее условие: вот готовое задание 4: uses crt; type TArray = array of...

Добавить вывод на экран адресов всех переменных, а в конец – значений всех переменных
Никак не могу найти ошибки.И еще, в начало программы добавить вывод на экран адресов всех переменных, а в конец – значений всех переменных ...

Сканер сети, получение имен и IP-адресов компьютеров в сети
Доброго времени суток, дорогие форумчане! Хочу попробовать написать простенький сканер сети, что бы он выводил,скажем в DataGridView, имя...

Взаимодействие компьютеров в одной программе
Новичёк в этой области, и не знаю с чего начать. Хочу сделать программу, которая имеется на двух компьютерах соединенных локальной сетью,...

Как в доменную группу добавить список компьютеров?
Доброе время суток! Очень нужна Ваша помощь. В AD создана группа в которую необходимо внести более 5000 тысяч ПК. Подскажите пожалуйста как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru