자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17188
공지 유용한 관련 사이트 관리자2 2014.03.20 56065
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99501
53 Datasnap Rest Server dataset결과값을 http 호출 json타입으로 받으려면 [1] 델마당쇠 2021.03.16 219
52 델파이 openCV 설치 관련 질문.. [2] file 아놀드 2021.03.16 693
51 xe10.3.3 에서 단말기 Android 7.1.2 에 넣으면 오류 [1] file 광수생각 2021.03.17 228
50 TNetEncoding.URI.Encode함수 [1] 똘귀아빠 2021.03.17 188
49 Optimization 관련 문의 드립니다. [2] BD 2021.03.18 175
48 UTF-32 변환 문제 입니다. [1] 산별아빠 2021.03.24 243
47 FDBatchMove 질문입니다. [1] 희망나라 2021.03.24 247
46 idhttp로 https주소로 post 방식으로 API insert 문의드립니다... [2] 스마일 2021.03.26 1145
45 firedac 질문입니다 [4] file 희망나라 2021.03.29 300
» 맥 어드레스를 못가져오는 경우? [1] 가나다 2021.03.29 193
43 interbase togo [1] 희망나라 2021.04.03 324
42 firedac 질문입니다. [1] file 희망나라 2021.04.03 227
41 DataSnap ClientDataSet 연결문의드립니다. [1] 블랙 2021.04.06 365
40 Android 컴파일 오류 [2] file 초보개발자 2021.04.07 414
39 delphi7에서 dbe를 이용한 mssql에서 저장프로시져 호출하여 작업하면 이상없는데. xe10.4에서 fireDAC을 이요하면 멈춤 추도사 2021.04.08 375
38 C#에서 만든 DLL 사용 가능 합니까? [1] midas 2021.04.12 1171
37 code insight Auto invoke 기능 질문합니다. LYNN 2021.04.12 220
36 사용자 컴포넌트 추가를 해도 tool Palette에 보이지 않음 [1] file 추도사 2021.04.14 259
35 FireDac Transaction 문의 [2] BD 2021.04.19 1120
34 윈도우 키오스크에서 손가락으로 TImage 의 Canvas에 선 그리는 방법 [1] file 미스터몽키 2021.04.19 582