Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

перечисление всех сетевых адаптеров

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> перечисление всех сетевых адаптеров
Имя
Сообщение << Старые топики   Новые топики >>
перечисление всех сетевых адаптеров - 2007-11-19 19:39:53.416666   
dqpb

Сообщений: 294
Оценки: 0
Присоединился: 2005-03-17 18:28:23
Карочь подскажите как мне пролистать все сетевухи которые есть в компе, читал факи статьи мсдн,
но ненашел там подобного все вокруг да около.

Проблема в том что когда сетевуха выключена то GetAdaptersInfo трухает,
как вот например мягкие реализовали отоброжение сетевых подключений в проводнике если они вырублены.

Надо но уже мозги кипят. Хотяб намек если знаете.
Post #: 1
RE: перечисление всех сетевых адаптеров - 2007-11-20 00:01:08.280000   
The_JokeR

Сообщений: 152
Оценки: 0
Присоединился: 2007-11-15 00:50:53.400000
Хм..попробуй поискать примеров в библиотеке WinPcap.
Post #: 2
RE: перечисление всех сетевых адаптеров - 2007-11-20 00:08:37.980000   
Mkey

Сообщений: 3426
Оценки: 0
Присоединился: 2006-03-08 14:32:13
виндовая утилита devcon.exe … качается с оффиц. сайта … весит 55 кило…
показывает всё железо на компе … отдебужить да выяснить какая ф-я отвечает за прочтение всех устройств…
Post #: 3
RE: перечисление всех сетевых адаптеров - 2007-11-21 14:13:27.300000   
dqpb

Сообщений: 294
Оценки: 0
Присоединился: 2005-03-17 18:28:23
Нашел пример зделанный в vc++ 6.

помогите переделать вот эту функцию на delphi

BOOL GetAdapterInfo() { HKEY hKey, hSubKey, hNdiIntKey; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, "System\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}", 0, KEY_READ, &hKey) != ERROR_SUCCESS) return FALSE; DWORD dwIndex = 0; DWORD dwBufSize = 256; DWORD dwDataType; char szSubKey[256]; unsigned char szData[256]; while(RegEnumKeyEx(hKey, dwIndex++, szSubKey, &dwBufSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) { if(RegOpenKeyEx(hKey, szSubKey, 0, KEY_READ, &hSubKey) == ERROR_SUCCESS) { if(RegOpenKeyEx(hSubKey, "Ndi\\Interfaces", 0, KEY_READ, &hNdiIntKey) == ERROR_SUCCESS) { dwBufSize = 256; if(RegQueryValueEx(hNdiIntKey, "LowerRange", 0, &dwDataType, szData, &dwBufSize) == ERROR_SUCCESS) { if(strcmp((char*)szData, "ethernet") == 0) { dwBufSize = 256; if(RegQueryValueEx(hSubKey, "DriverDesc", 0, &dwDataType, szData, &dwBufSize) == ERROR_SUCCESS) { ADAPTER_INFO *pAI = new ADAPTER_INFO; pAI-&gt;strDriverDesc = (LPCTSTR)szData; dwBufSize = 256; if(RegQueryValueEx(hSubKey, "NetCfgInstanceID", 0, &dwDataType, szData, &dwBufSize) == ERROR_SUCCESS) { pAI-&gt;strName = (LPCTSTR)szData; RegGetIP(pAI, (LPCTSTR)szData); } AdapterInfoVector.push_back(pAI); } } } RegCloseKey(hNdiIntKey); } RegCloseKey(hSubKey); } dwBufSize = 256; } /* end of while */ RegCloseKey(hKey); return TRUE; }


Вот полный сорс.


Post #: 4
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> перечисление всех сетевых адаптеров







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.