说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

怎样得到本机的网卡号???

编辑:说三道四文库 发布时间:2017-09-24 09:47
HTML文档下载 WORD文档下载 PDF文档下载
怎样得到本机的网卡号???
到DOS 下运行:
ipconfig /all
其中的物理地址不知道是不是你想要的网卡号
我想编程实现
BOOL bRet = FALSE; 
        NCB ncb; 
        PUCHAR pData; 
        ZeroMemory(&ncb, sizeof(ncb)); 
        pData = (PUCHAR)malloc(sizeof(ADAPTER_STATUS) + 16 * sizeof(NAME_BUFFER)); 
         
        CopyNetbiosName((char *)&ncb.ncb_callname, szName); 
        ncb.ncb_command = NCBASTAT; 
        ncb.ncb_buffer = (PUCHAR)pData; 
        ncb.ncb_lana_num = 0; 
        ncb.ncb_length = sizeof(ADAPTER_STATUS) + 16 * sizeof(NAME_BUFFER); 
        Netbios(&ncb); 
         
        CString szAddress; 
        if(ncb.ncb_retcode == NRC_GOODRET) 
        { 
                ADAPTER_STATUS *pStatus = (ADAPTER_STATUS *)pData; 
                UCHAR *pAddress = pStatus->adapter_address; 
                szAddress.Format("%02X%02X%02X%02X%02X%02X",  
                        pAddress[0], pAddress[1], pAddress[2], 
                        pAddress[3], pAddress[4], pAddress[5]); 
                 
                bRet = TRUE; 
        } 
        else 
                szAddress = "Wrong Name!"; 
你在msdn上用howto get mac查
HOWTO: Get the MAC Address for an Ethernet Adapter
ID: Q118623 

 

--------------------------------------------------------------------------------
The information in this article applies to:

Microsoft Win32 Software Development Kit (SDK), used with:
Microsoft Windows NT, versions 3.1, 3.5, 3.51, 4.0 
Microsoft Windows 2000 
Microsoft Windows versions 95, 98

--------------------------------------------------------------------------------


SUMMARY
This article demonstrates how to get the Media Access Control (MAC) address for an ethernet adapter programmatically by using NetBIOS, if your card is bound to NetBIOS. 



MORE INFORMATION
To get the Media Access Control (MAC) address for an ethernet adapter programmatically, use the Netbios() NCBASTAT command and provide a "*" as the name in the NCB.ncb_CallName field. This is demonstrated in the sample code below. 

For computers with multiple network adapters you need to enumerate the LANA numbers and perform the NCBASTAT command on each. Even when you have a single network adapter, it is a good idea to enumerate valid LANA numbers first and perform the NCBASTAT on one of the valid LANA numbers. It is considered bad programming to hardcode the LANA number to 0. 

In addition, other hardware and software may be assigned their own MAC addresses. For example, a modem can have a MAC address. Also, a RAS client or server can install "dummy" network adapters that correspond to a dialup or serial connection. Normally, these MAC addresses are randomly generated. If an adapter status is called on a LANA that corresponds to one of these adapters when no connection is present, Netbios returns error 0x34 (NRC_ENVNOTDEF) even if a reset was previously performed. 

With the NetBEUI and IPX transports, the same information can be obtained at a command prompt by using: 


   net config workstation 
The ID given is the MAC address. 

The following code enumerates all LANA numbers, performs a reset (NCBREST), and an adapter status (NCBASTAT). 
Sample Code

   #include <windows.h>
   #include <wincon.h>
   #include <stdlib.h>
   #include <stdio.h>
   #include <time.h>

   typedef struct _ASTAT_
   {

      ADAPTER_STATUS adapt;
      NAME_BUFFER    NameBuff [30];

   }ASTAT, * PASTAT;

   ASTAT Adapter;

   void main (void)
   {
      NCB Ncb;
      UCHAR uRetCode;
      char NetName[50];
      LANA_ENUM   lenum;
      int      i;

      memset( &Ncb, 0, sizeof(Ncb) );
      Ncb.ncb_command = NCBENUM;
      Ncb.ncb_buffer = (UCHAR *)&lenum;
      Ncb.ncb_length = sizeof(lenum);
      uRetCode = Netbios( &Ncb );
      printf( "The NCBENUM return code is: 0x%x \n", uRetCode );

      for(i=0; i < lenum.length ;i++)
      {
          memset( &Ncb, 0, sizeof(Ncb) );
          Ncb.ncb_command = NCBRESET;
          Ncb.ncb_lana_num = lenum.lana[i];

          uRetCode = Netbios( &Ncb );
          printf( "The NCBRESET on LANA %d return code is: 0x%x \n",
                  lenum.lana[i], uRetCode );

          memset( &Ncb, 0, sizeof (Ncb) );
          Ncb.ncb_command = NCBASTAT;
          Ncb.ncb_lana_num = lenum.lana[i];

          strcpy( Ncb.ncb_callname,  "*               " );
          Ncb.ncb_buffer = (char *) &Adapter;
          Ncb.ncb_length = sizeof(Adapter);

          uRetCode = Netbios( &Ncb );
          printf( "The NCBASTAT on LANA %d return code is: 0x%x \n",
                  lenum.lana[i], uRetCode );
          if ( uRetCode == 0 )
          {
             printf( "The Ethernet Number on LANA %d is:
                     %02x%02x%02x%02x%02x%02x\n",
            lenum.lana[i],
                  Adapter.adapt.adapter_address[0],
                  Adapter.adapt.adapter_address[1],
                  Adapter.adapt.adapter_address[2],
                  Adapter.adapt.adapter_address[3],
                  Adapter.adapt.adapter_address[4],
                  Adapter.adapt.adapter_address[5] );
          }
       }

   } 

Additional query words: 

Keywords : kbnetwork kbAPI kbNetBIOS kbNTOS310 kbNTOS350 kbNTOS351 kbSDKPlatform kbWinOS95 kbGrpNet 
Version : WINDOWS:95,98 
Platform : WINDOWS 
Issue type : kbhowto 


Last Reviewed: December 7, 1999
&copy; 2000 Microsoft Corporation. All rights reserved. Terms of Use.
 



--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.
去这里看看吧,你要的都在哪里了,取网卡地址的方法有n多种.
而且这个问题在本论坛也有很多人问了,你查一下就知道了.
用SendARP()或IP帮助中的一个函数(不好意思,具体是什么俺忘记了,等俺给你查查,晚上再来)
GetAdaptersInfo()
Delphi中动画设计 Delphi中对Jpeg格式文件的处理... Delphi中多媒体组件使用解析 Direct3D起步:教程以及资源指南-Delphi资料 播放背景音乐-Delphi资料 弹出、关闭CD-ROM驱动器-Delphi资料 检测声卡存在-Delphi资料 控制声音音量-Delphi资料 让pc speaker美妙动听-Delphi资料 闪动标题栏-Delphi资料 使用 DirectX 优化声音特性-Delphi资料 修改Delphi 3图形处理中的错误 用Delphi 3.0编制MP3音乐点歌台 用Delphi编制MP3音乐点歌台 用Delphi编制趣味动画鼠标 用Delphi开发屏幕保护预览程序 用DEPHI3.0实现动画ABOUT窗口-Delphi资料 在Delphi下用Direct Sound 实现混音器组件 在Delphi中使用DirectX BDE的替代品大全(按数据库类型分)-Delphi资料 BDE的替代品大全(按应用类型分)-Delphi资料 bde的组态文件-Delphi资料 DBGrid中的下拉列表和查找字段编程方法-Delphi资料 Delphi 3.0 中 连 接 数 据 库 的 三 种 方 式 Delphi 3.0中连接数据库的三种方式 Delphi 4中开发数据库控件的方法 Delphi:MIDAS中动态强制约束编程 DELPHI 中 自 适 应表 单 的 实 现 Delphi3数据库编程中的查找字段 Delphi3中 连 接 数 据 库 的 三 种 方 法 Delphi编程实现3DS动画的播放 为什么找不到程序入口点??? 如何去掉字串右边(或者中间)的空格? 哪位能全面的解释一下“数据驱动”。 高分寻找php 上传 文件脚本 totodo大哥进来一下! 100分求解:ActiveX控件在网页中用,如何使弹出的第二个form一直居于网页上层?--在线等 一个w2k server网页显示的问题 关于日期的处理,请教!! 急!水晶报表8.5的字符串类型仅仅支持255位,要显示长字串如何解决? 祈祷sars早点被消灭! 怎么使一个弹出窗口使中在前面!!?? 制作网页时遇到的字体问题 能否把sybase的tempdb数据库中的分配的日志空间删除或者转为数据? 急!水晶报表8.5的字符串类型仅仅支持255位,要显示长字串如何解决? 新建asp应用程序必须联在网上么? 祈祷sars早点被消灭! JAVA做硬件可以吗? 偶然发现的一个网址,有兴趣大家可以看看 Memo控件的自动存盘问题? 那里有vba sdk 下载啊? 寻书!!! 在DELPHI7.0中,为什么找不到QReport组件页。 推荐一本详细讲述"进程"、"线程"的书,最好是MFC的。 基于XML的SVG应用问题,十万火急!!! 我的软件超过3000个人下载,开心放分. 请详细介绍公共语言运行时(CLR) 已经获得视图的句柄,如何通过该句柄进一步得到视图的指针? 求教(急):对Excel或word操作时总是报同一个异常?? 急,安装Red Hat Linux 9后,却无法进入系统 惨了惨了,不小心改了boot.ini现在进不去了,救救我吧! 怎样将一个文件写成XML 有水用过ucd-snmp开发包,高分要多少都给 exchange2000做workflow的细节问题,急 各位大哥帮帮忙 谁能帮我把这些sql语句转换为OleDb,在线等,很急!谢谢 为什么装了windowsxp 后,在windows 98 里的很多东西都看不到呢? 又一菜鸟小问题!呵呵 网关的问题,请教: 关于StatusBar的AutoHint问题 pb8编译为机器码时,为何其他的库未编译为dll文件 请教一个PB9的问题 哪位用ACCESS和ASP的高手过来看看? 急救!!!!HELP!!!! 一个鼠标画图的小问题(关于刷新整个客户区)!!! 很急的问题~!!!高手赐教!!! 怎么打印表格? 如何改变text field的高度 急用,我想把Datagrid中的数据导到excel中,怎样才能才能出现路径选择的对话框 问个非常奥妙的问题!!!!!!!!! 关于StatusBar的AutoHint问题 谁有MSVBVM50.DLL这个文件,发给我,100分! 根据象棋马走日字的游戏规则,马在平面直角坐标系中,马在(2,1)的位置,则马可能到达的点的坐标有 大白鲨怎么叫的? 人生就像蒲公英,看似自由其实很多时候都是身不由己…… 2.3.4.5.6.7.8的日积月累的解释 王尔德说的是:【Anybody can write history;only a great man can make it】?还是【Anybody can make history.,only a great man can write it】?若是第一句,那么 “write history”要怎么解释?是“书写历史”?那“make it 仿写:人生就像蒲公英,看似自在,实则身不由己拜托了各位 50256保留2位有效数字 把苍蝇关在房间里,它会污染里面能喝的水吗刚才的事,我看电视的时候发现被子上有只苍蝇,打一下被子(谁敢用手拍苍蝇?),没飞走,用力打一下,被子下去了,后来电视看完了,上楼上网,后来听 蒲公英看似自由,但却身不由己.这句话的意思? “飘飘柔柔,丝丝水水”代表什么动物,猜十二生肖一动物.请认真思考后作答 房间里都是死苍蝇是什么原因夏天到了 我租的房间里都是死苍蝇,我晚上用蚊香的,我想这个跟用蚊香没有关系吧?而且我租的时候,房间的涂料都用了很久了 这个跟甲醛中毒没什么关系吧?谁能 最大的鳄鱼是湾鳄还是尼罗鳄啊?我给忘了额. 6、设z=(x^2)*ln(2xy),求z对x的一阶,二阶偏导数,和z对y的一阶,二阶偏导数 没有了虫子,世界会怎么样?全面的反映 长嘴鳄鱼和短嘴鳄鱼有什么区别 汤姆索亚历险记的问题 1.汤姆勇敢的在法庭上站出来作证,指出——才是杀害——医生的凶手,被冤枉的—释放2.汤姆希望改掉自己的一些不良习气,加入了镇上的“——————”这个组织,并 为什么虫子都淹不死呢 象声词 作文我要多点象声词的作文, 十二生肖中四脚最短的动物是什么?是四脚最小``````` Not only( ),but also a great thinker.A.was Lu xun a great writer B.was a great writer Lu xunC.a great writer was Lu Xun D.LU xun was a great writer 谁是我国伟大的革命先驱? 十二生肖中四脚动物有哪些? 猪肉 里有煮不死的虫吗? 小兰今年的体重是45千克,因为挑食,比去年轻5千克,小兰体重减少了百分之几?要关系式 12生肖中哪种动物四脚长长,走路弯曲的 24 535 429 .保留三位有效数字. 小兰今年的体重是45千克,因为挑食,比去年轻5千克,小兰的体重减少了百分之几? 口语交际 课本剧 1型糖尿病会影响眼睛吗?有什么症状会发现眼睛被影响了?近来发现视力有所下降!眼睛很痛!经常掉眼水! 小兰今年的体重是45㎏,因为挑食,比去年轻5㎏,小兰的体重减少了百分之几? 一般黑熊和大猩猩单挑谁较厉害 一辆客车与一辆货车分别从重庆和万州两地相向而行,当客车行了全程的五分之二时,货车离两地中点还有55千米,已知客车与货车的速度比是6:5,求重庆与万州两地相距多少千米? 小兰今年的体重是45千克,比去年轻了5千克,小兰体重减少了百分之几? 四脚牲畜有腥味,是指什么动物 一辆汽车从甲地到乙地,3小时行了全程的五分之二,离中点还有55千米,这辆汽车的速度是多少千米? 现在安徽地震有没有和四川一样的前兆还会有更大的地震吗我今天看到一团白雾在山间,还可以闻到一股难闻的味道会是地震前的预兆吗? 什么是四脚动物人 直角三角形中1比根号5比根号6是特殊的角吗 我想知道我的眼睛是不是桃花眼睛 请问这是什么动物?四脚的! 有人知道这种昆虫的名字吗 12岁,每天睁眼睛眼睛会变大吗?有人说他小时候每天睁眼睛后来变大了.我想知道长期坚持这有效果吗? 四脚离地是什么动物 为什么说人生就象蒲公英,虽然自由,但身不由己 我想知道经常按摩眼部可以使眼睛变大吗?或 有能吃鸟的蜘蛛吗 ln[tan(x/2-兀/4)]的导数 剑门之外无客走猜一动物 体育场入场卷30元一张,若降价后观众人数增加一半,收入增加1/4,问每场入场卷降价多少元? 1.《昆虫记》作者是谁?2.《昆虫记》作者是哪国人?3.《童年》中的主人翁是谁?4.《昆虫记》属于那一类书籍?5.《童年》作者是谁?6.《童年》作者是哪国人?7.《童年》里的主要内容是什么?8.《 打一昆虫名称 熊猫是怎么成为国宝的,为什么会成为国宝呢? 人教版 一到十二册的语文园地日积月累和所有古诗 打一昆虫 什么鸟吃蜘蛛的?打的是一种是蜘蛛和苍蝇的鸟,不过……悬赏财富【5】! 大白鲨怎么玩 人生就像蒲公 英,看似自由, 甲乙两地相距490km,甲每小时40km,乙每小时60km,甲出发后1小时,乙才出发,问乙经过多少小时与甲相遇?2.一辆货车和一辆客车从相距299km的两地相向而行,货车每小时行40km,客车每小时行52km.问:几 大白鲨会叫吗? 什么昆虫会打驾 苹果语音助理Siri配音员现身港版iPhone 5s/5c可用中国亚洲邮轮旅游市场增长迅速美国新泽西一商场发生枪击事件 暂无人三中全会前瞻:改革力度超以往 让民众网曝湛江国资委官员带女下属开房 视频广东湛江国资委官员被曝与女下属开房 韩媒称韩国海警截获三艘“非法捕捞”中塑料袋威胁欧洲环境 欧盟计划对其征收澳华裔女专家制乳癌病例数据库 拯救数美国新泽西一商场发生枪击事件 暂无人曝孙杨因同乘者不满赔偿金才报警 托人美国国务卿克里访波兰 有望就监听事件穆尔西受审质疑审判合法性 埃及民众意发改委:雾霾天气几乎常态化 通过5-雾霾影响生殖能力,不能当成“雷语”加拿大一名刑满性犯罪者潜逃至美国又面日本一企业官员疑挪用24亿日元 被同消息称利比亚首都发生激烈交火 枪声持新加坡拟开发路边停车电子收费新系统孙杨可自选拘留时间 新女友浮出水面亦好空气PK坏天气“喝18元茶遭拒”折射求变难杨庭椿 退休老院长送法十年坦坦荡荡大年初一百人旅行团造访长城站一路畅通 男童及时就医泰国大选暂不公布结果8岁讲解员带您穿越恐龙世界图片新闻井下阀门崩裂 居民家中停水冰山上的来客女子过年包7个红包花5900元:三分优惠该“普惠”吗除夕高峰每分钟千万条微信乱穿马路 重罚春联展示图片新闻驻马尔代夫大使王福康拜会马旅游部长湖南一村干部扑山火殉职 当地申报烈士驻俄罗斯大使李辉会见俄罗斯莫斯科州州希腊凯法利尼亚岛地震尚无人员伤亡消息
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘