Click here to Skip to main content
10,500,000 members (82,837 online)
Rate this:
Please Sign up or sign in to vote.
See more:
In my project i need Mac Address of system. i write code for it but it gives multiple Mac Address for exemple it give Lancard mac adress, USB dongle macaddress , On-Board Mac address etc. but my reqirement is to get only On-Board Mac Address using MFC.
Posted 25-Feb-13 0:18am
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

With several exceptions, the MAC address is not usually associated connected to the motherboard. It is unique to the network adapter (one per adapter if there are more than one). There are several ways to do get this info. Here is one:

#include <stdio.h>
#include <WinSock.h>
#pragma comment(lib, "wsock32.lib")
int main(int argc, char *argv[])
 WORD wVersionRequested;
 WSADATA wsaData;
 char name[255];
 PHOSTENT hostinfo;
 wVersionRequested = MAKEWORD( 1, 1 );
 char *ip;
 if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
  if( gethostname ( name, sizeof(name)) == 0)
   printf("Host name: %s\n", name);
   if((hostinfo = gethostbyname(name)) != NULL)
    int nCount = 0;
     ip = inet_ntoa(*(
          struct in_addr *)hostinfo->h_addr_list[nCount]);
     printf("IP #%d: %s\n", ++nCount, ip);
 return 0;

Also, here[^]is an article on how to get it 3 different ways. You need to come up with your own way to determine the one you want in the case that you get multiple answers.
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

We have no idea what your code is doing, but have you checked the documentation for WMI[^]?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web01 | 2.8.170915.1 | Last Updated 25 Feb 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100