• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > win98如何查询网卡当前状态?(硬件的启用禁用)

win98如何查询网卡当前状态?(硬件的启用禁用)

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了win98网卡驱动,win98万能网卡驱动,win98硬件要求,u盘win98系统下载,老毛桃系统win98等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: win98 如何查询网卡当前状态?(硬件的启用禁用)
描述:

win2000下可用DDK的CM_系列来获取网卡在设备管理器中被启用还是被禁用,
用setupapi只能做到启用 禁用,但无法获取当前的状态呀?


解决方案1:

typedef struct tagAdapterInfo
{
string strName;// ÊÊÅäÆ÷Ãû³Æ
string strDriverDesc;// ÊÊÅäÆ÷ÃèÊö
string strIP;// IPµØÖ·
string strNetMask;// ×ÓÍøÑÚÂë
string strNetGate;// Íø¹Ø
string strNameServer;   //DNS
string strNameServer2;   //DNS2
DWORD  dbEnableDHCP; //dhcp
DWORD dbAutoDNS;
char  iswiredcard;
}IPADAPTER_INFO;
vector<IPADAPTER_INFO*> AdapterInfoVector;
HKEY hKey, hSubKey, hNdiIntKey;
wirelessct=0;
if(IsWin2000xp=='Y') //win2000 xp 的注册表路径
{if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"System\\CurrentControlSet\\Control\\Class\\{4d36e972-e325-11ce-bfc1-08002be10318}",
0,
KEY_READ,
&hKey) != ERROR_SUCCESS)
return FALSE;
}
if(IsWin2000xp=='N') //win98 me的注册表路径
{if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"System\\CurrentControlSet\\Services\\Class\\Net",
0,
KEY_READ,
&hKey) != ERROR_SUCCESS)
return FALSE;
}
if(IsWin2000xp=='4') //NT 4的注册表路径
{if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards",
0,
KEY_READ,
&hKey) != ERROR_SUCCESS)
return FALSE;
}
DWORD dwIndex = 0;
DWORD dwBufSize = 256;
DWORD dwDataType;
char szSubKey[256];
unsigned char szData[256];
while(RegEnumKeyEx(hKey, dwIndex++, szSubKey, &dwBufSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
if(RegOpenKeyEx(hKey, szSubKey, 0, KEY_READ, &hSubKey) == ERROR_SUCCESS)
{
if(RegOpenKeyEx(hSubKey, "Ndi\\Interfaces", 0, KEY_READ, &hNdiIntKey) == ERROR_SUCCESS)
{
dwBufSize = 256;
if(RegQueryValueEx(hNdiIntKey, "LowerRange", 0, &dwDataType, szData, &dwBufSize) == ERROR_SUCCESS)
{
if(strcmp((char*)szData, "ethernet") == 0)//
{
dwBufSize = 256;
if(RegQueryValueEx(hSubKey, "DriverDesc", 0, &dwDataType, szData, &dwBufSize) == ERROR_SUCCESS)
{
IPADAPTER_INFO *pAI = new IPADAPTER_INFO;
pAI->strDriverDesc = (LPCTSTR)szData;
CString temp;
temp=szData;
#ifdef _DEBUG
AfxMessageBox(temp);
#endif
temp.MakeLower();
if(temp.Find("wireless")>0)
{
pAI->iswiredcard='N';
havewireless=TRUE;
wirelessct++;
}
else
{
pAI->iswiredcard='Y';
}
dwBufSize = 256;
if(RegQueryValueEx(hSubKey, "NetCfgInstanceID", 0, &dwDataType, szData, &dwBufSize) == ERROR_SUCCESS)
{
pAI->strName = (LPCTSTR)szData;
RegGetIP(pAI, (LPCTSTR)szData);
}
AdapterInfoVector.push_back(pAI);// 
}
}
}
RegCloseKey(hNdiIntKey);
}
RegCloseKey(hSubKey);
}
dwBufSize = 256;
}
RegCloseKey(hKey);
return TRUE;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • win98如何查询网卡当前状态?(硬件的启用禁用)

相关文章

  • 2017-06-05 关于射频电路的元器件的选择
  • 2017-06-17嵌入式系统设计示例:车载GPS终端系统的设计
  • 2017-06-05 PCI配置端口操作是否存在多线程同步问题
  • 2017-06-05 关于mini2440串口1发送数据疑问
  • 2017-06-05 我制作了centOS67的U启盘动盘,从老毛桃模拟启动可以,从电脑u盘启动没反应?
  • 2017-06-05 各位大神留下你们的芳香
  • 2017-06-05 DNSCrypt的工作原理是什么?
  • 2017-06-05 LWIP+ENC28J60+组播可以接收组播数据,不能发送组播数据,怎么回事?
  • 2017-06-05 readfile读数问题请教
  • 2017-06-05 哪里能够下载到BYTEcraft正式(解密)版?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 求tornado/vxworks软件找了好久没有找到,想学嵌入式开发了,请帮忙
    • 基于C8051F500的CAN总线问题?
    • 关于vxworks下创建看门狗奇怪的现象
    • C++串口无法接受到完整的数据
    • 为什么我的传真程序不能接收传真?高分送?
    • 点亮cc2530上led灯的问题,很简单很简单
    • 求:关于可变电阻唤醒WIFI模块的方法
    • 任务管理器磁盘显示100%是怎么回事,如何解决
    • Linux3G/4G网络连接掉线
    • WINCE60++IMX515+3G模块SIM5360拨号连接情况下第1次可以休眠,第2次以及之后不能休眠问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有