자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
델파이 XE2  사용

 

아래 소스로 맥주소를 가져오는데

 

맥주소를 못가져오는 경우가 있네요

 

어떨때 못가져오는지

 

어떻게 가져올수 있는지 알수 있을까요?
 

 

function GetMACAddress: string;

  var

    AdapterList: TLanaEnum;

    NCB: TNCB;

 

    Adapter: TAdapterStatus;

    Lana: AnsiChar;

  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

      begin

        Lana := AdapterList.lana[0];

 

        FillChar(NCB, SizeOf(NCB), 0);

        NCB.ncb_command := AnsiChar(NCBRESET);

        NCB.ncb_lana_num := Lana;

 

        if Netbios(@NCB) <> AnsiChar(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 := Result + IntToHex(Byte(Adapter.adapter_address[0]), 2) + ':';

        Result := Result + IntToHex(Byte(Adapter.adapter_address[1]), 2) + ':';

        Result := Result + IntToHex(Byte(Adapter.adapter_address[2]), 2) + ':';

        Result := Result + IntToHex(Byte(Adapter.adapter_address[3]), 2) + ':';

        Result := Result + IntToHex(Byte(Adapter.adapter_address[4]), 2) + ':';

        Result := Result + IntToHex(Byte(Adapter.adapter_address[5]), 2);

      end

    else

      Result := 'mac not found';

  end;

 
번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 19765
공지 유용한 관련 사이트 관리자2 2014.03.20 58697
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102265
2499 이미 존재하는 데이터 타입이나 클래스에 Helper가 존재하는지 체크방법 [3] 100jk 2018.10.05 207
2498 datasnap devdev 2018.11.27 207
2497 dbexconnections.ini 파일 에러 [2] 그래요 2020.01.08 207
2496 RIO 10.3.1 에서 FastReport 를 설치 했는데 64bit 컴파일시 에러가 나옵니다. [2] 노력하는삶 2020.04.27 207
2495 RAD 스튜디오 베를린 10.1에서 인포믹스 DB를 지원하나요? 험프리 2016.12.08 208
2494 Delphi10.2 평가판 안드로이드 7 안되네요,. [3] 캔나영 2017.08.30 208
2493 C++ builder 10.2 에서 Android 에 쓰래드 사용시 종료 문제 [1] 쿠리 2018.05.25 208
2492 VCL Style 지정시 MouseDown문제 크림슨킹 2019.04.16 208
2491 Find declaration 동작 이상 등 버그 [3] 아루스 2019.10.24 208
2490 sqlconnection 사용법을 알고 싶습니다. [1] 덩어리2 2019.12.14 208
2489 DataSnap를 이용한 여러 데이터 접속. [1] michael 2015.09.24 208
2488 [마이그레이션] FastReport [1] 개미 2020.11.24 208
» 맥 어드레스를 못가져오는 경우? [1] 가나다 2021.03.29 208
2486 [XE8] 컴포넌트 동적생성이 오동작합니다. [1] 가을이다 2015.10.30 208
2485 [C++부트캠프] 시리얼 컴포넌트 사용여부가 궁금합니다. 험프리 2016.08.30 209
2484 10.3.2 Update Trouble & Embarcadero Server Down 문의 [1] DKK 2019.07.25 209
2483 10.3.3 samples 프로그램 FlashLight을 돌리면 오류가 납니다. [4] 델파이-앱 2020.02.19 209
2482 델파이 10 씨에틀을 사용중인데요.... [1] 도고래 2016.04.21 210
2481 [축하드립니다!] 개발자 Q&A 게시판 우수 답변자 선정 관리자 2016.12.27 210
2480 파이어닥 관련하여 궁금점이 있습니다. [1] 이즈로즈 2018.07.24 210