Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 642

•  TDictionary Custom Sort  5 777

•  Fast Watermark Sources  5 583

•  3D Designer  8 165

•  Sik Screen Capture  5 887

•  Patch Maker  6 364

•  Айболит (remote control)  6 354

•  ListBox Drag & Drop  5 215

•  Доска для игры Реверси  94 504

•  Графические эффекты  6 550

•  Рисование по маске  5 620

•  Перетаскивание изображений  4 739

•  Canvas Drawing  5 114

•  Рисование Луны  4 842

•  Поворот изображения  4 390

•  Рисование стержней  3 097

•  Paint on Shape  2 335

•  Генератор кроссвордов  3 204

•  Головоломка Paletto  2 534

•  Теорема Монжа об окружностях  3 310

•  Пазл Numbrix  2 183

•  Заборы и коммивояжеры  2 833

•  Игра HIP  1 803

•  Игра Go (Го)  1 724

•  Симулятор лифта  2 055

•  Программа укладки плитки  1 782

•  Генератор лабиринта  2 223

•  Проверка числового ввода  1 902

•  HEX View  2 209

•  Физический маятник  1 896

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Получение MAC адреса компьютера




Автор: Daniel Wischnewski

Один программист спрашивает другого:
- Слушай, а тебе трахаться приходилось?
- Да, как-то раз я полночи Windows ставил.
- Да нет, в смысле по-настоящему.
- А, это с Макинтошами что ли?

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

Данный пример был составлен на основе статьи на сайте 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;





Похожие по теме исходники

Slot Machine

Slot Machine v2

Mackintosh Directory Tree

DrawMachine

 



Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте