Получение MAC адреса компьютера - Форум
Пятница, 17.05.2024, 15:17 | Приветствую Вас Гость

Жми-форум обо всём

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 1 из 1
  • 1
Модератор форума: RoMkA29  
Форум » Кодинг » Delphi » Получение MAC адреса компьютера (Получение MAC адреса компьютера)
Получение MAC адреса компьютера
RoMkA29Дата: Воскресенье, 19.05.2013, 23:25 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 264
Репутация: 3
Статус: Offline
Получение MAC адреса компьютера

Для того, чтобы этот код работал, необходимо включить в проект юнит NB30. Простой вызов функции GetMACAddress возвращает адрес первого установленного сетевого адаптера.

Совместимость: Delphi 3.x (или выше)

Данный пример был составлен на основе статьи на сайте Borland:
http://community.borland.com/article/0,1410,26040,00.html

Код
uses  
   NB30;  

function GetAdapterInfo(Lana: Char): String;  
var  
   Adapter: TAdapterStatus;  
   NCB: TNCB;  
begin  
   FillChar(NCB, SizeOf(NCB), 0);  
   NCB.ncb_command := Char(NCBRESET);  
   NCB.ncb_lana_num := Lana;  
   if Netbios(@NCB) <> Char(NRC_GOODRET) then  
   begin  
     Result := 'mac not found';  
     Exit;  
   end;  

   FillChar(NCB, SizeOf(NCB), 0);  
   NCB.ncb_command := Char(NCBASTAT);  
   NCB.ncb_lana_num := Lana;  
   NCB.ncb_callname := '*';  

   FillChar(Adapter, SizeOf(Adapter), 0);  
   NCB.ncb_buffer := @Adapter;  
   NCB.ncb_length := SizeOf(Adapter);  
   if Netbios(@NCB) <> Char(NRC_GOODRET) then  
   begin  
     Result := 'mac not found';  
     Exit;  
   end;  
   Result :=  
     IntToHex(Byte(Adapter.adapter_address[0]), 2) + '-' +  
     IntToHex(Byte(Adapter.adapter_address[1]), 2) + '-' +  
     IntToHex(Byte(Adapter.adapter_address[2]), 2) + '-' +  
     IntToHex(Byte(Adapter.adapter_address[3]), 2) + '-' +  
     IntToHex(Byte(Adapter.adapter_address[4]), 2) + '-' +  
     IntToHex(Byte(Adapter.adapter_address[5]), 2);  
end;  

function GetMACAddress: string;  
var  
   AdapterList: TLanaEnum;  
   NCB: TNCB;  
begin  
   FillChar(NCB, SizeOf(NCB), 0);  
   NCB.ncb_command := Char(NCBENUM);  
   NCB.ncb_buffer := @AdapterList;  
   NCB.ncb_length := SizeOf(AdapterList);  
   Netbios(@NCB);  
   if Byte(AdapterList.length) > 0 then  
     Result := GetAdapterInfo(AdapterList.lana[0])  
   else  
     Result := 'mac not found';  
end;
 
Форум » Кодинг » Delphi » Получение MAC адреса компьютера (Получение MAC адреса компьютера)
  • Страница 1 из 1
  • 1
Поиск:

Навигация
Block title
Форма входа

Наш бот
Наш бот информер

ICQ:636-921-022
Jabber:zhmibot@jabber.ru
Случайные картинки
Случайная музыка
[10.07.2013][mp3]
Тонкая Красная Нить - Тёмно-Алая Кровь (0)
Тонкая Красная Нить - Тёмно-Алая Кровь
[11.03.2013][mp3]
Ярмак - Мне не нравится (0)
Ярмак - Мне не нравится
[11.03.2013][mp3]
Жека Кто ТАМ - За груснявую любовь(Boston Prod) (0)
Жека Кто ТАМ - За груснявую любовь(Boston Prod)
Опрос
Вы к нам ещё вернетесь?
Всего ответов: 32
Поиск
Обновление
  • Полезные советы для пользователей Windows XP (1)
  • Ключи для Kaspersky CRYSTAL 2013 до 2014 02 02 (2)
  • Network Traffic Monitor (1)
  • Букмекерская контора Betsstore (0)
  • Глючит компьютер,что делать?! (1)
  • Статистика


    Яндекс.Метрика
    Статистика