WMI를 사용하지 않고 사운드카드이름, 연결된 맥어드레스 및 IP주소를 구하는 소스입니다.
연결된 IP주소의 맥어드래스를 구할때 쓸만하겠죠?
충분히 테스트를 하지않았기 때문에 문제가 발생할 수도 있습니다.
사용하시는 분은 충분한 테스트를 해보시기 바랍니다.

#include <Iphlpapi.h>
#pragma comment(lib,"iphlpapi.lib")
void CPCInfoDlg::OnBtnNet()
{
 // TODO: Add your control notification handler code here

 IP_ADAPTER_INFO AdapterInfo[16];
    DWORD dwBufLen = sizeof(AdapterInfo);
    DWORD dwStatus = GetAdaptersInfo(
        AdapterInfo,
        &dwBufLen);
 
    if (dwStatus != ERROR_SUCCESS)
 {
  TRACE("Getting Error...\n");
    }

    PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;
 CString strPrint;

    do {

  AfxMessageBox(pAdapterInfo->Description);
  
        TRACE("%0.2X:%0.2X:%0.2X:%0.2X:%0.2X:%0.2X\n", pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5]);
  strPrint.Format("%0.2X:%0.2X:%0.2X:%0.2X:%0.2X:%0.2X\n", pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5]);
  AfxMessageBox(strPrint);

  PIP_ADDR_STRING pIPAddrInfo = &(pAdapterInfo->IpAddressList);

  do {

   TRACE("IP주소 : %s\n", pAdapterInfo->IpAddressList.IpAddress.String);
   strPrint.Format("IP주소 : %s\n", pAdapterInfo->IpAddressList.IpAddress.String);
   AfxMessageBox(strPrint);
   pIPAddrInfo = pIPAddrInfo->Next;

  }while(pIPAddrInfo);
  
        pAdapterInfo = pAdapterInfo->Next;

    }while(pAdapterInfo);
}

'프로그래밍 팁 > etc' 카테고리의 다른 글

메모리 정보 확인  (0) 2010.04.20
하드디스크 용량확인  (0) 2010.04.19
printf와 같은 포멧  (0) 2010.04.15
URLDownloadToFile 예제  (0) 2010.04.13
CImageList예제  (0) 2010.04.12
Posted by 띠깜
,