网卡是否如硬盘一样如一个唯一的系列号,用来加密使用。 help me 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有啊, 有個MAC號, 是全球唯一的, 一般首選是用網卡號, 有時機器沒裝網卡, 才考慮其它!! 怎么取?需要load相应的驱动程序吗? MAC 不是可以改吗?这样恐怕有漏洞. 贴段VC代码给你CString m_cstrMacAddr[10]; //保存MAC地址int m_iMacTotal = 0;// 获取网卡的MAC地址void GetMacAddr(){ NCB Ncb; UCHAR uRetCode; LANA_ENUM lenum; int i ; ASTSAT Adapter; memset (&Ncb, 0, sizeof (Ncb)); //初始化Ncb Ncb.ncb_command = NCBENUM; //枚举命令 Ncb.ncb_buffer = (UCHAR*) &lenum; Ncb.ncb_length = sizeof (lenum); uRetCode = Netbios (&Ncb); //执行Netbios命令 /// 判断网卡个数 if( lenum.length < 1 ) {// 获取网卡失败 /// 记录错误日志 CString cstrMsg; cstrMsg = "[AnyView.exe]获取网卡信息失败!"; DllRecordErrLog( cstrMsg.operator LPCTSTR() ); return ; } for (i =0; i < lenum.length ; i ++) //对每一网卡执行Netbios命令 { memset ( &Ncb, 0, sizeof (Ncb) ); //初始化Ncb Ncb.ncb_command = NCBRESET; // NCBRESET命令 Ncb.ncb_lana_num = lenum.lana[i]; uRetCode = Netbios (&Ncb); //执行Netbios命令 memset ( &Ncb, 0, sizeof (Ncb) ); //初始化Ncb Ncb.ncb_command = NCBASTAT; // NCBASTAT命令 Ncb.ncb_lana_num = lenum.lana[i]; strcpy ((char *)Ncb.ncb_callname, "* "); Ncb.ncb_buffer = (unsigned char *) &Adapter; Ncb.ncb_length = sizeof(Adapter); uRetCode = Netbios( &Ncb ); printf ("The NCBASTAT on LANA %d return cade is: 0x%x \n", lenum.lana[i], uRetCode); if(uRetCode == 0) { m_cstrMacAddr[m_iMacTotal++].Format( "%02x%02x%02x%02x%02x%02x", 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] ); } }} 我有个问题想请问一下各位.. Delphi中怎麼讓Memo1衹接受Edit1的拖放操作而不接受EDit2的拖放操作 打包bde的问题 dbgrid如何导出到TXT文件? 请问,怎么做一个像QQ左边那个导航条一样的TAB PAGE 那样的控件啊??? 如果判断屏幕的大小,即分辨率 关于Delphi引用系统单元 关于报表的问题,各位大侠救救我吧! 问个比较迷茫的问题啊. 请问哪里可以下载<<delphi5开发人员指南>>的随书光盘??谢谢谢 如何锁定word菜单中的一项或一列? 请问DELPHI中有没有专门计算时间差的函数?
int m_iMacTotal = 0;// 获取网卡的MAC地址
void GetMacAddr()
{
NCB Ncb;
UCHAR uRetCode;
LANA_ENUM lenum;
int i ;
ASTSAT Adapter; memset (&Ncb, 0, sizeof (Ncb)); //初始化Ncb
Ncb.ncb_command = NCBENUM; //枚举命令
Ncb.ncb_buffer = (UCHAR*) &lenum;
Ncb.ncb_length = sizeof (lenum);
uRetCode = Netbios (&Ncb); //执行Netbios命令 /// 判断网卡个数
if( lenum.length < 1 )
{// 获取网卡失败
/// 记录错误日志
CString cstrMsg;
cstrMsg = "[AnyView.exe]获取网卡信息失败!";
DllRecordErrLog( cstrMsg.operator LPCTSTR() ); return ;
} for (i =0; i < lenum.length ; i ++) //对每一网卡执行Netbios命令
{
memset ( &Ncb, 0, sizeof (Ncb) ); //初始化Ncb
Ncb.ncb_command = NCBRESET; // NCBRESET命令
Ncb.ncb_lana_num = lenum.lana[i];
uRetCode = Netbios (&Ncb); //执行Netbios命令 memset ( &Ncb, 0, sizeof (Ncb) ); //初始化Ncb
Ncb.ncb_command = NCBASTAT; // NCBASTAT命令
Ncb.ncb_lana_num = lenum.lana[i];
strcpy ((char *)Ncb.ncb_callname, "* ");
Ncb.ncb_buffer = (unsigned char *) &Adapter;
Ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios( &Ncb ); printf ("The NCBASTAT on LANA %d return cade is: 0x%x \n", lenum.lana[i], uRetCode); if(uRetCode == 0)
{
m_cstrMacAddr[m_iMacTotal++].Format( "%02x%02x%02x%02x%02x%02x",
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] );
}
}}