// ==========================================
// GetMAC.CPP – YangTze presents – 06/14/2001
// ==========================================
#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;
LANA_ENUM lenum;
int i;
i=sizeof(Ncb);
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_comm and = NCBRESET;
Ncb.ncb_lana _num = lenum.lana;
uRetCode = Netbios( &Ncb );
printf( “The NCBRESET on LANA %d return code is: 0x%x \n”,lenum.lana, uRetCode );
memset( &Ncb, 0, sizeof (Ncb) );
Ncb.ncb_comm and = NCBASTAT;
Ncb.ncb_lana _num = lenum.lana;
strcpy( (char*)Ncb.ncb_callname, ”* ” );
Ncb.ncb_buff er = (unsigned char *) &Adapter;
Ncb.ncb_leng th = sizeof(Adapter);
uRetCode = Netbios( &Ncb );
printf( “The NCBASTAT on LANA %d return code is: 0x%x \n”,lenum.lana, uRetCode );
if( uRetCode == 0 ) {
printf(
”The Ethernet Number on LANA %d is: %02X-%02X-%02X-%02X-%02X-%02X\n”,
lenum.lana ,
Adapter.adapt.adapter_ad dress[0],
Adapter.adapt.adapter_ad dress[1],
Adapter.adapt.adapter_ad dress[2],
Adapter.adapt.adapter_ad dress[3],
Adapter.adapt.adapter_ad dress[4],
Adapter.adapt.adapter_ad dress[5]
);
}
}
}
编译方法:1、将此代码剪贴保存为getmacadd.c
2、然后在命令行状态(dos提示符下)执行:cl getmacadd.c /link netapi32.lib。这里为了保证编译顺利执行,必须保证编译程序能找到cl.exe 和netapi32.lib。否则先执行vcvars32.bat(Visual C++ 6.0环境)或者vsvars32.bat(Visual C++ 7.0环境)。编译正常完成后,输出如下:
C:\>cl getmacadd.c /link netapi32.lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80×86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
getmacadd.c
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
/out:getmacadd.exe
netapi32.lib
getmacadd.obj
执行getmacadd.exe即可。
-
近期文章
近期评论
- coolker 发表在《打造最快的Hash表》
- struggle 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- diys 发表在《C语言编程宝典(王大刚) 1.1 C 语言的产生与发展》
文章归档
- 2022 年十月
- 2014 年一月
- 2013 年十二月
- 2012 年十一月
- 2012 年七月
- 2012 年六月
- 2012 年五月
- 2012 年四月
- 2012 年三月
- 2012 年二月
- 2011 年十二月
- 2011 年十月
- 2011 年九月
- 2011 年八月
- 2011 年七月
- 2011 年六月
- 2011 年五月
- 2011 年四月
- 2011 年三月
- 2011 年二月
- 2011 年一月
- 2010 年十二月
- 2010 年十一月
- 2010 年十月
- 2010 年九月
- 2010 年八月
- 2010 年七月
- 2010 年六月
- 2010 年五月
- 2010 年四月
- 2010 年三月
- 2010 年二月
- 2010 年一月
- 2009 年十二月
- 2009 年十一月
- 2009 年十月
- 2009 年九月
- 2009 年八月
- 2009 年七月
- 2009 年六月
- 2009 年五月
- 2009 年四月
- 2009 年三月
- 2009 年二月
- 2009 年一月
- 2008 年十二月
- 2008 年十一月
- 2008 年十月
- 2008 年九月
- 2008 年八月
- 2008 年七月
- 2008 年六月
- 2008 年五月
- 2008 年四月
- 2008 年三月
- 2008 年二月
- 2008 年一月
- 2007 年十二月
- 2007 年十一月
- 2007 年十月
- 2007 年九月
- 2007 年八月
- 2007 年七月
- 2007 年六月
- 2007 年三月
- 2007 年二月
- 2007 年一月
- 2006 年十二月
- 2006 年十一月
- 2006 年十月
- 2006 年九月
- 2006 年八月
- 2006 年七月
- 2006 年六月
- 2006 年五月
- 2006 年四月
- 2006 年三月
- 2006 年二月
- 2006 年一月
- 2005 年十二月
- 2005 年十一月
分类目录
功能