我已经写了一个修改网卡的物理地址的小程序
就是在注册表下
SYSTEM\\ControlSet001\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0007 添加一个NerwokAddress的数据项 但前提是 在该0007的字表中 DriverDesc的数据值必须为物理网卡的设备描述
如:Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller
现在发现在不同的电脑上 物理有线网卡的的描述可能会在不同的{4D36E972-E325-11CE-BFC1-08002BE10318}下的字表中
从0000-0009
我现在就是想通过0000-0009的DriverDesc的数据值中是否含有 “Ethernet” 或者 “以太”这两个关键字判断是不是物理网卡void CMyDlg::OnButtonRefresh()
{
HKEY hKey;
DWORD dwType;
DWORD dwValue;
CString pChar;
char StrTemp='1'; while(StrTemp<='9')
{
m_KeyPath.SetAt(m_KeyPath.GetLength()-1,StrTemp);//修改最后一个字符 RegOpenKey(HKEY_LOCAL_MACHINE,m_KeyPath,&hKey);//打开最后修改字符后的注册表地址 RegQueryValueEx(hKey,"DriverDesc",0,&dwType,(LPBYTE)(LPCTSTR)pChar,&dwValue);//读取注册
//表的DriveDesc的值 if (pChar.Find("Ethernet")!=-1 || pChar.Find("以太")!=-1)//判断是否
{
MessageBox("find it!");
break;
}
else StrTemp++;
RegCloseKey(hKey);//关闭注册表的 Handle
}
MessageBox(pChar);//显示找到的物理网卡的设备描述
RegCloseKey(hKey);
}
就是在注册表下
SYSTEM\\ControlSet001\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0007 添加一个NerwokAddress的数据项 但前提是 在该0007的字表中 DriverDesc的数据值必须为物理网卡的设备描述
如:Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller
现在发现在不同的电脑上 物理有线网卡的的描述可能会在不同的{4D36E972-E325-11CE-BFC1-08002BE10318}下的字表中
从0000-0009
我现在就是想通过0000-0009的DriverDesc的数据值中是否含有 “Ethernet” 或者 “以太”这两个关键字判断是不是物理网卡void CMyDlg::OnButtonRefresh()
{
HKEY hKey;
DWORD dwType;
DWORD dwValue;
CString pChar;
char StrTemp='1'; while(StrTemp<='9')
{
m_KeyPath.SetAt(m_KeyPath.GetLength()-1,StrTemp);//修改最后一个字符 RegOpenKey(HKEY_LOCAL_MACHINE,m_KeyPath,&hKey);//打开最后修改字符后的注册表地址 RegQueryValueEx(hKey,"DriverDesc",0,&dwType,(LPBYTE)(LPCTSTR)pChar,&dwValue);//读取注册
//表的DriveDesc的值 if (pChar.Find("Ethernet")!=-1 || pChar.Find("以太")!=-1)//判断是否
{
MessageBox("find it!");
break;
}
else StrTemp++;
RegCloseKey(hKey);//关闭注册表的 Handle
}
MessageBox(pChar);//显示找到的物理网卡的设备描述
RegCloseKey(hKey);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货