MAC Adresse [Résolu]

michelroc 84 Messages postés lundi 19 mai 2003Date d'inscription 2 janvier 2010 Dernière intervention - 1 mars 2007 à 19:58 - Dernière réponse : cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention
- 2 mars 2007 à 08:21
Bonjour,

Je recherche ou faire( delphi) un programme qui tourne sous DOS. Permettant de me donner la MAC Adresse.

Merci

Michel [:)]
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 1 mars 2007 à 20:10
3
Merci
salut,
donc ta demande...
la permission? accordée...

précise ton problème à un certain niveau de code, là où tu bloques...

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de PCPT
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 1 mars 2007 à 20:11
0
Merci
Salut,


C'est l'exemple même de code qui ne pose aucun problème, et qui est largement répandu sur le net.

Comment obtenir l'adresse MAC d'une carte réseau
Commenter la réponse de japee
michelroc 84 Messages postés lundi 19 mai 2003Date d'inscription 2 janvier 2010 Dernière intervention - 1 mars 2007 à 21:20
0
Merci
Ci dessous ce que j'ai recupere sur ce site mais je ne sais pas afficher le resultat sous DOS  ??  soyer indulgent . Merci

program Project2;


{$APPTYPE CONSOLE}


uses
  SysUtils,
  NB30;


{ TODO -oUser -cConsole Main : placez le code ici }


  function GetAdapterInfo(Lana: Char): String;
var
  Adapter: TAdapterStatus;
  NCB: TNCB;
begin
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBRESET);
  NCB.ncb_lana_num := Lana;
  if Netbios(@NCB) <> Char(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 :=
    IntToHex(Byte(Adapter.adapter_address[0]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[1]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[2]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[3]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[4]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[5]), 2);
end;


function GetMACAddress: string;
var
  AdapterList: TLanaEnum;
  NCB: TNCB;
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
    Result := GetAdapterInfo(AdapterList.lana[0])
  else
    Result := 'mac not found';
end;


end.
Michel [:)]
Commenter la réponse de michelroc
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 1 mars 2007 à 21:37
0
Merci
cette source est peut-être une piste...

++

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Utilisateur anonyme - 1 mars 2007 à 22:47
0
Merci
Tu as totalement raison PCPT :

Il y a aussi une source ici : http://herea.soft.free.fr/Samples.htm. Si je me rappelle bien elle ne fonctionne que sous Win95/98 mais est tres simple. Sinon une autre alternative est de réaliser un pipe http://delphi.developpez.com/faq/?page=applisconsole : Là c'est de la haulte voltige.

@+
Commenter la réponse de Utilisateur anonyme
Cirec 4231 Messages postés vendredi 23 juillet 2004Date d'inscription 3 août 2018 Dernière intervention - 1 mars 2007 à 23:05
0
Merci
Salut,

je ne pense pas qu'il soit utile de réaliser un pipe sur une application console

program Project2; {$APPTYPE CONSOLE}

uses

il suffit d'utiliser Write où Writeln en lui passant la valeur de retour de GetMACAddress pour voir s'afficher le résultat dans une fenêtre dos

 
@+
Cirec

<hr size="2" />
Commenter la réponse de Cirec
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 2 mars 2007 à 00:02
0
Merci
Oui, Cirec, c'est si simple...
à condition d'être familier des applications console.

Ce qui n'est d'ailleurs pas mon cas...
Mais en bidouillant un peu, on y finit par y arriver.
Il faut seulement en intégrer la philosophie, et apprendre à se servir des basiques "WriteLn" et "ReadLn".
Allez, Michel, je te le mets dans le contexte :

program McAdress;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  NB30;

function GetAdapterInfo(Lana: Char): String;
var
  Adapter: TAdapterStatus;
  NCB: TNCB;
begin
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBRESET);
  NCB.ncb_lana_num := Lana;
  if Netbios(@NCB) <> Char(NRC_GOODRET) then
  begin
    Result := '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 := 'not found';
    Exit;
  end;
  Result :=
    IntToHex(Byte(Adapter.adapter_address[0]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[1]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[2]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[3]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[4]), 2) + '-' +
    IntToHex(Byte(Adapter.adapter_address[5]), 2);
end;

function GetMACAddress: string;
var
  AdapterList: TLanaEnum;
  NCB: TNCB;
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
    Result := GetAdapterInfo(AdapterList.lana[0])
  else
    Result := 'mac not found';
end;

begin
  WriteLn('Adresse Mac : ' + GetMACAddress);
  ReadLn;
end.

Elle est pas belle, la vie ?
Commenter la réponse de japee
cs_Kenavo 759 Messages postés vendredi 21 mars 2003Date d'inscription 1 octobre 2009 Dernière intervention - 2 mars 2007 à 08:21
0
Merci
I' sont bien les nouveaux admins ! Non ?






Ken@vo




<hr size="2" width="100%" />



Code, Code, Codec !






[%3C/body
]
Commenter la réponse de cs_Kenavo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.