Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.01.2012, 21:17
shadow12 shadow12 вне форума
Прохожий
 
Регистрация: 29.01.2012
Сообщения: 2
Репутация: 10
По умолчанию как получить MacAddress без подключения к сети?

функция GetMacAddress (например здесь: http://www.delphisources.ru/forum/showthread.php?t=9382)
работает только если комп подключен к сети, по крайней мере
на моем Windows7 условие Netbios(@NCB)<>Char(NRC_GOODRET) при
отсутствии подключения к сети не позволяет получить MacAddres.

кто нибудь в курсе как можно получить MacAddress без подключения к сети? через командную строку это можно сделать с помощью ipconfig /all.
должен наверое быть аналогичный способ и под delphi.

заранее благодарен за советы.
Ответить с цитированием
  #2  
Старый 29.01.2012, 21:36
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

http://www.codeguru.com/cpp/i-n/netw...icle.php/c5451
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 30.01.2012, 18:45
shadow12 shadow12 вне форума
Прохожий
 
Регистрация: 29.01.2012
Сообщения: 2
Репутация: 10
По умолчанию

спасибо за избыточную информацию!

а всякий случай поинтересуюсь нет ли у вас ссылки на соответствующий delphi code?

меня интересует третий вариант (Method Three: Use GetAdaptersInfo), для которого требуется unit Iphlpapi - чего под delphi7 пока не нашел.
Ответить с цитированием
  #4  
Старый 30.01.2012, 20:25
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
const
  MAX_ADAPTER_NAME_LENGTH = 256;
  MAX_ADAPTER_DESCRIPTION_LENGTH = 128;
  MAX_ADAPTER_ADDRESS_LENGTH = 8;

type
  IP_ADDRESS_STRING = array [0..16-1] of Char;
  IP_MASK_STRING = IP_ADDRESS_STRING;

  PIP_ADDR_STRING = ^IP_ADDR_STRING;
  IP_ADDR_STRING = record
    Next: PIP_ADDR_STRING;
    IpAddress: IP_ADDRESS_STRING;
    IpMask: IP_MASK_STRING;
    Context: DWORD;
  end;

  PIP_ADAPTER_INFO = ^IP_ADAPTER_INFO;
  IP_ADAPTER_INFO = record
    Next: PIP_ADAPTER_INFO;
    ComboIndex: DWORD;
    AdapterName: array [0..MAX_ADAPTER_NAME_LENGTH+4-1] of Char;
    Description: array [0..MAX_ADAPTER_DESCRIPTION_LENGTH+4-1] of Char;
    AddressLength: UINT;
    Address: array [0..MAX_ADAPTER_ADDRESS_LENGTH-1] of Byte;
    Index: DWORD;
    Type_: UINT;
    DhcpEnabled: UINT;
    CurrentIpAddress: PIP_ADDR_STRING;
    IpAddressList: IP_ADDR_STRING;
    GatewayList: IP_ADDR_STRING;
    DhcpServer: IP_ADDR_STRING;
    HaveWins: BOOL;
    PrimaryWinsServer: IP_ADDR_STRING;
    SecondaryWinsServer: IP_ADDR_STRING;
    LeaseObtained: Longint;
    LeaseExpires: Longint;
  end;

function GetAdaptersInfo(pAdapterInfo: PIP_ADAPTER_INFO; pOutBufLen: PULONG): DWORD; stdcall; external 'Iphlpapi.dll';
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:17.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025