//提示:此代码需要use Registry, Common;
function WriteMAC(model:integer):integer;
var
reg:TRegistry;
begin
reg:=TRegistry.Create; //创建注册表对象
reg.RootKey:=HKEY_LOCAL_MACHINE; //指定注册表根为HKLM
if reg.OpenKey('\System\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002bE10318}\0013',true) then
begin //若项存在
reg.WriteString('NetworkAddress','000B6AC824C4');//将MAC值写入NetworkAddress键值
winexec('devcon disable *DEV_1031*',0) ; //禁用本地连接
sleep(3000); //暂停3秒
winexec('devcon enable *DEV_1031*',0); //启用本地连接以使新MAC生效
reg.CloseKey; //关闭键值
reg.Free; //释放注册表对象
Result:=1; //修改成功返回1
end
else //若不存在返回0
Result:=0;
end;
function WriteMAC(model:integer):integer;
var
reg:TRegistry;
begin
reg:=TRegistry.Create; //创建注册表对象
reg.RootKey:=HKEY_LOCAL_MACHINE; //指定注册表根为HKLM
if reg.OpenKey('\System\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002bE10318}\0013',true) then
begin //若项存在
reg.WriteString('NetworkAddress','000B6AC824C4');//将MAC值写入NetworkAddress键值
winexec('devcon disable *DEV_1031*',0) ; //禁用本地连接
sleep(3000); //暂停3秒
winexec('devcon enable *DEV_1031*',0); //启用本地连接以使新MAC生效
reg.CloseKey; //关闭键值
reg.Free; //释放注册表对象
Result:=1; //修改成功返回1
end
else //若不存在返回0
Result:=0;
end;
解决方案 »
- 如何使多个子窗体中的一个始终置顶显示
- 如何绕过被拦截的API?
- 谁帮我下,我这会晕了!帮我写个逻辑语句,谢谢!
- 请问怎么对DateTimePicker控件的时间进行操作?
- 如何在代码中模拟一个鼠标拖动的过程!
- 怎样使DBGridEH的新增列满足我的要求,请进去看。
- 怎么打开另外一台计算机上的word文件?
- 如何从剪贴板获取复制的Outlook邮件/附件,保存为文件?
- 咋样屏蔽Windows NT下的系统按键???
- 有谁曾将VCL控件(非向导可直接转换的)封装成ActiveX控件的???
- 在程序中改变数据控件DBLabel的数据源怎么做呢?
- 在做FastReport报表的时候,编译的时候Can not Convert Variant type string into double出现错误提示
sleep是都有的
winexec就是执行一个外部程序
RegOpenKeyEx
RegCreateKeyEx
RegSetValueEx
RegFlushKey
RegCloseKey
int WriteMAC(int model)
{
TRegistry* reg = new TRegistry();
reg->RootKey = HKEY_LOCAL_MACHINE;
if (reg->OpenKey("\System\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002bE10318}\0013",True))
{
reg->WriteString("NetworkAddress","000B6AC824C4");
WinExec("devcon disable *DEV_1031*", 0);
Sleep(3000);
reg->CloseKey();
delete reg;
return 1;
}
else return 0;
}
用SDK的就是直接操作API
http://www.cnblogs.com/kzloser/archive/2012/11/07/2758404.html
#include <Registry.hpp>
int WriteMAC(int model)
{
TRegistry* reg = new TRegistry();
reg->RootKey = HKEY_LOCAL_MACHINE;
if (reg->OpenKey("\System\CurrentControlSet\Control\Class\
{4D36E972-E325-11CE-BFC1-08002bE10318}\0013",True))
{
reg->WriteString("NetworkAddress","000B6AC824C4");
WinExec("devcon disable *DEV_1031*", 0);
Sleep(3000);
reg->CloseKey();
delete reg;
return 1;
}
// 下面改一下
delete reg;
return 0;
}