![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
функция GetMacAddress (например здесь: http://www.delphisources.ru/forum/showthread.php?t=9382)
работает только если комп подключен к сети, по крайней мере на моем Windows7 условие Netbios(@NCB)<>Char(NRC_GOODRET) при отсутствии подключения к сети не позволяет получить MacAddres. кто нибудь в курсе как можно получить MacAddress без подключения к сети? через командную строку это можно сделать с помощью ipconfig /all. должен наверое быть аналогичный способ и под delphi. заранее благодарен за советы. |
|
#2
|
||||
|
||||
|
|
|
#3
|
|||
|
|||
|
спасибо за избыточную информацию!
а всякий случай поинтересуюсь нет ли у вас ссылки на соответствующий delphi code? меня интересует третий вариант (Method Three: Use GetAdaptersInfo), для которого требуется unit Iphlpapi - чего под delphi7 пока не нашел. |
|
#4
|
||||
|
||||
|
Код:
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'; |