社区
通信技术
帖子详情
如何在dos/win95下编程得到网卡号
netware
2000-01-30 09:07:00
加精
...全文
617
4
打赏
收藏
如何在dos/win95下编程得到网卡号
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hokesoft
2000-05-24
打赏
举报
回复
Delphi里怎么做呢?!
wxz
2000-02-13
打赏
举报
回复
// 以下是本人的完整程序段
#ifndef __TCCARD_H
#define __TCCARD_H
#include<dos.h>
#include<stdio.h>
/***************************************************/
/* 函数 取本机器的Novell网络登陆号 */
class CNetAddress
{
private:
unsigned int LoginNumber; // Login 序号
unsigned char CardAddress[13]; // 网卡地址, 16进制
void ReadLoginNumber(void);
void ReadCardAddress(void);
char Num_Char(int numeric); //
public:
CNetAddress()
{
ReadLoginNumber();
ReadCardAddress();
}
int GetLoginNumber(void)
{
return LoginNumber;
}
unsigned char *GetAddress(void)
{
if(CardAddress[0])return CardAddress;
else return NULL;
}
};
#endif //__TCCARD_CPP
/*************************************************************//***************************************************/
/* 函数 取本机器的Novell网络登陆号 */
void CNetAddress::ReadLoginNumber(void)
{
_AH=0xdc;
geninterrupt(0x21);
LoginNumber=_AL;
}
/* 函数 取本机器的Novell网卡地址 */
void CNetAddress::ReadCardAddress(void)
{
union REGS inregs,outregs;
struct SREGS segregs;
CardAddress[0]='\0';
{
inregs.h.ah=0xEE;
intdosx(&inregs,&outregs,&segregs);
CardAddress[0]=Num_Char((outregs.h.ch>>4)&0x0f);
CardAddress[1]=Num_Char(outregs.h.ch&0x0f);
CardAddress[2]=Num_Char((outregs.h.cl>>4)&0x0f);
CardAddress[3]=Num_Char(outregs.h.cl&0x0f);
CardAddress[4]=Num_Char((outregs.h.bh>>4)&0x0f);
CardAddress[5]=Num_Char(outregs.h.bh&0x0f);
CardAddress[6]=Num_Char((outregs.h.bl>>4)&0x0f);
CardAddress[7]=Num_Char(outregs.h.bl&0x0f);
CardAddress[8]=Num_Char((outregs.h.ah>>4)&0x0f);
CardAddress[9]=Num_Char(outregs.h.ah&0x0f);
CardAddress[10]=Num_Char((outregs.h.al>>4)&0x0f);
CardAddress[11]=Num_Char(outregs.h.al&0x0f);
CardAddress[12]='\0';
}
}
char CNetAddress::Num_Char(int numeric)
{
const Asc0=48;
const AscA=65-10;
if((numeric>=0)&&(numeric<=9))
return Asc0+numeric;
if((numeric>=10)&&(numeric<=15))
return AscA+numeric;
return ' ';
}
#endif //__TCCARD_CPP
/*************************************************************/
netware
2000-02-01
打赏
举报
回复
那么在DOS下呢?
Wingsun
2000-01-30
打赏
举报
回复
这个为题已经有人提过,
在Win95下,我使用的是BCB4.0,实现方法如下:
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, * PASTAT;
ASTAT Adapter;
NCB ncb;
UCHAR uRetCode;
char NetName[50];
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = 0;
uRetCode = Netbios( &ncb );
if (uRetCode!=0)
EdNetAdapterNumber->Text="网卡初始化失败!";
memset(&ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = 0;
strcpy( ncb.ncb_callname, "* " );
ncb.ncb_buffer = (char *) &Adapter;
ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios( &ncb );
if ( uRetCode == 0 )
{
AnsiString Address;
int i;
Address="";
for(i=0;i<6;i++)
{
Address+=IntToHex((int)Adapter.adapt.adapter_address[i],2);
}
EdNetAdapterNumber->Text=Address ;
}
intel82574
网卡
手册
PHY层则遵循1 Gb/s IEEE 802.3、802.3u和802.3ab规范,支持802.3ab自协商功能,可以在10/100/1000 Mb/s全双工和10/100 Mb/s半双工模式下工作,并具有自动MDI/MDI-X交叉功能。这些特性确保了在各种速度下的稳定连接。...
msods5.8 u盘上的
dos
3.内置200多种100M及1000M
网卡
驱动,实现GHOST网络刻隆及
DOS
下访问局域网的共享资源. 4.全中文的操作方式,让您使用时更简单,并且支持
DOS
下五笔拼音输入及中文文件操作. 5.完全傻瓜化的网刻模式,让没用过本软件的...
Max
DOS
7 & Ghost8.2 For
Win
2k/XP/2K3
Debug.exe 强大的
dos
下
编程
命令. Diskgen.exe 强大的
dos
下中文分区软件.一直用它.Max强烈推荐,强过dm. Fdisk.exe 早期的
dos
分区命令. Ghost.exe 系统备份还原工具.如果运行了ntfs
dos
.请用exit退出后再运行. Go.exe ...
Max
DOS
& Ghost8.2 7 For Vista/2008
3. 内置200多种
网卡
驱动,实现GHOST网络刻隆及
DOS
下访问局域网的共享资源. 4. 全中文的操作方式,让您使用时更简单,支持
DOS
下显示中文及五笔拼音输入. 5. 完全傻瓜化的网刻模式,让没用过本软件的用户也能轻松实现网...
intel 82574驱动
- 在
DOS
环境下烧写Intel 82574驱动到EEPROM通常需要专用工具,如Intel的ProSet/Wireless Software and Drivers,或者第三方的
编程
器软件。 - 此过程涉及读取现有EEPROM内容、更新驱动程序、验证新内容无误,然后将...
通信技术
4,387
社区成员
28,918
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章