begin process at 2012 02 12 13:57:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

obtenir adr. MAC


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

obtenir adr. MAC

mardi 19 avril 2005 à 12:11:57 | obtenir adr. MAC

Arnaud16022

Membre Club
hello world
je cherche comment avoir l'adresse MAC de mon PC, mais pas en utilisant la ligne de commande.
en gros je cherche un fonction de l'api win ou autre qui donne le MAC de l'ordi sur lequel est exécuté mon prog (pas de truc en réseau ou autre)

merci bien ;)
++
ad

_______________________
Omnia vincit labor improbus
mardi 19 avril 2005 à 14:59:22 | Re : obtenir adr. MAC

garslouche

[ Lien ]

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mardi 19 avril 2005 à 17:21:27 | Re : obtenir adr. MAC

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Voici un petit programme qui affiche l'adresse MAC de ton PC dans un MessageBox:

#include <windows.h>
#include <Iprtrmib.h>

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
    PMIB_IFTABLE buffer;
    MIB_IFROW donnees;
    ULONG size=0;
    char chaine[30];

    typedef DWORD (WINAPI *PFONCTION)(PMIB_IFTABLE , PULONG, BOOL);
    HMODULE hDLL= LoadLibrary("iphlpapi.dll");
    PFONCTION GetIfTable=(PFONCTION) GetProcAddress(hDLL,"GetIfTable");

    buffer = (MIB_IFTABLE*) malloc(sizeof(MIB_IFTABLE));
    GetIfTable (buffer, &size, TRUE);
    buffer = (MIB_IFTABLE *) malloc (size);

    GetIfTable (buffer, &size, TRUE);

    for (DWORD i=0;i<buffer->dwNumEntries;i++)
    {
        donnees=buffer->table[i];
        if(donnees.dwType==MIB_IF_TYPE_ETHERNET)
        {
            wsprintf(chaine,"%02X-%02X-%02X-%02X-%02X-%02X",
            donnees.bPhysAddr[0],donnees.bPhysAddr[1],donnees.bPhysAddr[2],
            donnees.bPhysAddr[3],donnees.bPhysAddr[4],donnees.bPhysAddr[5]);   
            MessageBox(0,chaine,"Adresse MAC",0);
        }
    }

    FreeLibrary(hDLL);
    return 0;
}

Il utilise la fonction  GetIfTable() contenue dans iphlpapi.dllGetAdaptersInfo() permet aussi de retrouver l'adresse MAC mais elle est un peu plus complexe.

mardi 19 avril 2005 à 17:29:56 | Re : obtenir adr. MAC

racpp

Administrateur CodeS-SourceS
J'ai oublié de mettre:
free(buffer);
juste avant FreeLibrary()


mardi 19 avril 2005 à 18:04:12 | Re : obtenir adr. MAC

Arnaud16022

Membre Club

super
merci bcp :)
++
ad

_______________________
Omnia vincit labor improbus
mardi 19 avril 2005 à 18:10:12 | Re : obtenir adr. MAC

Arnaud16022

Membre Club
enfin quoique...
le
if(donnees.dwType==MIB_IF_TYPE_ETHERNET)
fait foirer le machin, aucune message box ne s'affiche
si je l'enleve, il me met d'abord 00-00-00-00-00-00
puis ensuite ma vraie adresse, un truc genre 00-53-45-00-00-00
(c'est celle affichée par la console de Windows)
enfin bon si ca marche...
faudra que j'essaye sur d'autres PCs

_______________________
Omnia vincit labor improbus
mardi 19 avril 2005 à 18:36:08 | Re : obtenir adr. MAC

racpp

Administrateur CodeS-SourceS
Ce test sert à vérifier qu'il s'agit bien d'une carte  ethernet. Si tu l'enlève, il t'affichera toutes les interfaces réseau disponibles: interface Windows toujours présente, modem etc...
Il est donc essentiel de garder ce test si tu ne veux  que l'adresse MAC de ta care réseau.
Ce petit programme n'est qu'un petit exemple. A toi de le perfectionner selon tes besoins.

mardi 19 avril 2005 à 21:43:10 | Re : obtenir adr. MAC

Arnaud16022

Membre Club
en fait, mon besoin est d'identifier un ordi: je voulais quelque chose qui soit spécifique a chaque PC, et apparement l'adresse MAC convient... j'ai pas franchement envie de faire une détection comme pour l'activation de Windows, qui enregistre les caracs de tout le hardware... juste un petit numéro simple, et qui ne soit pas le meme d'un PC a l'autre,et qui marche meme si il n'y a pas de carte réseau...

_______________________
Omnia vincit labor improbus
mercredi 20 avril 2005 à 09:40:23 | Re : obtenir adr. MAC

garslouche

De toutes façons tu ne pourras pas identifier un PC tant que tu n'auras pas défini de quoi est composé un PC...

Je m'explique : supposons que tu veuille identifier un PC par sa carte mère par exemple; si le type change sa carte, l'identification foire. Pourtant le PC est toujours le même. Tu vois ce que je veux dire ?


On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mercredi 20 avril 2005 à 11:47:36 | Re : obtenir adr. MAC

Arnaud16022

Membre Club
ben justement, c'est pour ca que Windows reste activé tant que tu ne changes pas la config
t'as le droit a 3 changements de matériel, apres ca se désactive et tu dois réactiver la chose
et de toute facon, je n'ai pas besoin d'une telle 'précision'... moi ce que je veux c'est juste dire si mon prog a déja été lancé sur tel ou tel PC (c'est pour mettre sur une clé usb)
l'adress MAC devrait convenir pour ca
_______________________
Omnia vincit labor improbus


Cette discussion est classée dans : cherche, mac, obtenir, adr


Répondre à ce message

Sujets en rapport avec ce message

"API" Mac OS X : obtenir le SN d'un disque ou d'une UC ? [ par Vblo ] Bonjour,J'utilise Director pour développer des applis multimédia. Il est possible d'ajouter des fonctions au logiciel, via des Xtras, développés en C+ Obtenir adress mac local + ca marche à moitié.... [ par emmanuel9 ] Bonjour, J'aurais souhaité récupéré l'adresse mac de ma machine, j'ai essayé le code suivant (c++ managé)String*  machineMacAddress = "";ManagementCla Cherche code C/C++ pour obtenir l'etat d'un programme. [ par ton31840 ] Je cherche code C/C++ pour recuperer l'état d'un programme sous windowsexemple : en cours d'execution , pas de réponse.Mecri de votre aide. Obtenir l'adresse MAC d'une IP [ par metos ] Bonjour à tous,     J'ai une adresse IP, et je souhaiterais obtenir l'adresse MAC. Comment peut-on le faire en C?Merci d'avancemetos Obtenir une mac adresse en c++ [ par Xantra ] Bonjour,Je cherche un code permettant de récupérer la mac adresse de la carte réseau numéro 1 d'un pc. Après une journée de recherche je commence a cr des questions divers autour du remplissage des enums, des vecteur et des tableau a l'aide des boucles [ par nidhaletec ] //pour enum nodes ;                cout id())je cherche a obtenir en utilisant une boucle qui contient cette cout  quelque chose comme ca :enum nodes cherche bibliothèque graphique [ par rgamor ] Bonjour, dans le cadre d'un projet personnel j'aimerais obtenir une interface graphique proche des media center ou du genre d'apple, simple et épuré.D 3d opengl [ par darvil ] Qui peu m'aider?je cherche de quoi developer sur mac en 3d . Je cherche une adreese ou tlecharger un compilateur des logiciels 3d. comment fair march Réseaux MAC-PC [ par kslashing ] Bonjour,suite a la création d'un MMORPG,serveur sous MAC, client sous mac et pc,je souhaiterais savoir si il existe des "API" ou librairies compatible aide pour creation d'un mmorpg [ par elrohir_74 ] Salut tout le monde, je cherche de l'aide car je dois réaliser mon mémoire cette année et je me suis embarq


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,056 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales