renzhacheng的博客园

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

实现:VS2008(VC9)。还是直接上代码吧,相信都可以看得懂。

 1void CMACchangerDlg::OnBnClickedButton1()
 2{
 3    HKEY hKey;
 4    LPCTSTR lpKeyPath = TEXT("SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0009");   //每个电脑各不相同,实际应用时记得修改。
 5    LPCTSTR pszOrigMac = TEXT("0019B95AD6D1");    //原始MAC地址
 6    LPCTSTR pszNewMac = TEXT("002036525621");     //修改的MAC地址
 7    SECURITY_ATTRIBUTES sa;
 8    sa.nLength = sizeof(sa);
 9    sa.lpSecurityDescriptor = NULL;
10    sa.bInheritHandle = TRUE;
11
12    long lOpenReturn = RegCreateKeyEx(HKEY_LOCAL_MACHINE,
13                                      lpKeyPath,
14                                      0, NULL,
15                                      REG_OPTION_NON_VOLATILE,
16                                      KEY_ALL_ACCESS,
17                                      &sa, &hKey, NULL);
18    if ( lOpenReturn != ERROR_SUCCESS)
19    {
20        MessageBox(TEXT("打开注册表失败,请以管理员身份运行!"), TEXT("错误"), MB_ICONWARNING);
21        RegCloseKey(hKey);
22        return;
23    }

24
25    if(MessageBox(TEXT("是否开始mac地址欺骗?"), TEXT("提示"), MB_ICONINFORMATION | MB_OKCANCEL) == IDOK)
26    {
27        if(RegSetValueEx(hKey, TEXT("NetworkAddress"), NULL, REG_SZ, (LPBYTE)pszNewMac, (DWORD) (lstrlen(pszNewMac)+1)*sizeof(TCHAR)))
28        {
29            RegCloseKey(hKey);
30            MessageBox(TEXT("无法修改注册表"), TEXT("错误"), MB_ICONWARNING);
31            return;
32        }

33        MessageBox(TEXT("修改MAC地址成功"), TEXT("提示"), MB_ICONINFORMATION);
34    }
else{
35        if(RegSetValueEx(hKey, TEXT("NetworkAddress"), NULL, REG_SZ, (LPBYTE)pszOrigMac, (DWORD) (lstrlen(pszOrigMac)+1)*sizeof(TCHAR)))
36        {
37            RegCloseKey(hKey);
38            MessageBox(TEXT("无法修改注册表"), TEXT("错误"), MB_ICONWARNING);
39            return;
40        }

41        MessageBox(TEXT("已还原MAC地址"), TEXT("提示"), MB_ICONINFORMATION);
42    }

43    
44    RegCloseKey(hKey);
45}

运行时因为权限问题必须使用admin权限。如果不够智能,可以利用DDK添加自动重启本地连接的功能。

posted on 2009-07-04 10:50  renzhacheng  阅读(821)  评论(0编辑  收藏  举报