Mac地址修改方法
来源:互联网 发布:淘宝会员折扣哪里设置 编辑:程序博客网 时间:2024/05/18 00:31
注册表修改方法:
由给定的键值更改
private const string NETWORKADDRESS_KEY = @"SYSTEM/CurrentControlSet/Control/Class/{4D36E972- E325-11CE-BFC1-08002bE10318}/0001";//网卡在键值1所在的位置
private const string NETWORKADDRESS_NAME = "NetworkAddress";
public string ReadMac()
{
RegistryKey HKLM = Registry.LocalMachine;
try
{
RegistryKey Reg = HKLM.OpenSubKey(NETWORKADDRESS_KEY);
object o = Reg.GetValue(NETWORKADDRESS_NAME);
return o.ToString();
}
catch
{
return string.Empty;
}
}
public void SetMac(string mac)
{
RegistryKey HKLM = Registry.LocalMachine;
RegistryKey Reg = HKLM.OpenSubKey(NETWORKADDRESS_KEY, true);
Reg.SetValue(NETWORKADDRESS_NAME, mac);
}
public void SetNetworkAddress(string networkaddress)
{
List<string> netAddressName = this.GetAllNetworkAdapter();
chagneNetWorkAdapterMac(networkaddress, netAddressName[0]);
}
如有多块网卡,则寻第一块并设Mac值
/// <summary>
/// 网卡地址,网卡名称
/// </summary>
/// <param name="NetworkMac"></param>
/// <param name="NetworkAdapterName"></param>
public void chagneNetWorkAdapterMac(string NetworkMac, string NetworkAdapterName)
{
//打开注册表
RegistryKey rk = Registry.LocalMachine;
string caption = "";//网卡标志
//MessageBox.Show(NetworkAdapterName);
string NetMac = NetworkMac;
string nowNetWork = NetworkAdapterName;
//HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}
string subKeyPath = @"SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/";
RegistryKey rsKey = null;
string allKeyPath = null;
for (int i = 0; i <= 20; i++)
{
allKeyPath = subKeyPath + "000" + i.ToString();
rsKey = rk.OpenSubKey(allKeyPath, true);
MessageBox.Show(rsKey.ToString());
if (rsKey.SubKeyCount < 2)//里面的键值个数多于1
continue;
if (null != rsKey)
{
caption = rsKey.GetValue("DriverDesc").ToString();
if (nowNetWork.IndexOf(caption) > -1)
{
rsKey.SetValue("NetworkAddress", NetMac);
MessageBox.Show(NetMac.ToString()+"Mac修改成功");
break;
}
}
}
}
/// <summary>
/// 得到IP属性的名称
/// </summary>
/// <returns></returns>
public List<string> GetAllNetworkAdapter()
{
List<string> allNetworkAdapte = new List<string>();
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
allNetworkAdapte.Add(mo["Caption"].ToString());//5-1-a-s-p-x
}
return allNetworkAdapte;
}
- Mac地址修改方法
- 注册表修改MAC地址方法
- 修改MAC地址有两种方法
- linux修改mac地址方法
- 修改mac地址的方法
- 网关屏蔽mac地址,linux下修改mac地址方法
- 修改MAC地址的方法 破解MAC地址绑定
- 网卡MAC地址修改方法大全
- 如何修改MAC地址的方法
- Linux修改MAC地址的方法
- vmware修改MAC地址的方法
- 修改网卡MAC地址的两个方法
- linux操作系统下修改MAC地址方法
- 腾达W311R路由器修改Mac地址方法
- linux下修改MAC地址方法
- Intel 网卡修改mac地址方法
- linux下修改mac地址的方法
- linux下修改MAC地址方法-大全
- WPF 命令绑定简单应用
- Class Design: 一些有用的Attribute
- API串口通信
- Iterator迭代器
- mysql导出(备份)单张表,mysql备份指定表
- Mac地址修改方法
- dfsdfsd
- hashmap例子
- 常用集合类线程同步安全
- Hibernate学习手记(5)--关联映射
- Linux下应用Mono配置Asp.NET服务
- c++BUILDER 中如何把汉字转换成拼音
- Oracle使用手册(一)---声明变量
- 全站关键字搜索