HKEY hKEY;//定义有关的 hKEY, 在查询结束时要关闭
LPCTSTR data_Set="SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters\\Interfaces\\{93FB2F00-388B-4617-AA14-A5D9CC6B7CE8}";
//打开与路径 data_Set 相关的 hKEY,第一个参数为根键名称,第二个参数
//表示要访问的键的位置,第三个参数必须为0,KEY_READ表示以查询的方式。
//访问注册表,hKEY则保存此函数所打开的键的句柄
long ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set, 0, KEY_READ, &hKEY));
if(ret0!=ERROR_SUCCESS)//如果无法打开hKEY,则终止程序的执行
{
MessageBox("错误: 无法打开有关的hKEY!");
return;
}
//查询有关的数据 (用户姓名 owner_Get)。
LPBYTE owner_Get=new BYTE[80];//LPBYTE:BYTE far *LPBYTE;BYTE = unsigned char
DWORD type_1=REG_MULTI_SZ,cbData_1=80,type_2=REG_SZ;
//hKEY为刚才RegOpenKeyEx()函数所打开的键的句柄,"RegisteredOwner"
//表示要查 询的键值名,type_1表示查询数据的类型,owner_Get保存所。
//查询的数据,cbData_1表示预设置的数据长度。
long ret1=::RegQueryValueEx(hKEY, "DefaultGateway", NULL,
&type_1, owner_Get, &cbData_1);
if(ret1!=ERROR_SUCCESS)
{
MessageBox("错误: 无法查询有关注册表信息!");
return;
}
::RegCloseKey(hKEY);
// CString str; ret0=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set, 0, KEY_WRITE, &hKEY));
if(ret0!=ERROR_SUCCESS)
{
MessageBox("错误: 无法打开有关的hKEY!");
return;
}
unsigned char str[]="192.168.0.251";
cbData_1=sizeof(str);
long ret2=::RegSetValueEx(hKEY,"DefaultGateway",NULL,type_1,str,cbData_1);
// strcpy(str,"192.168.0.230");
ret2=::RegSetValueEx(hKEY,"NameServer",NULL,type_2,str,cbData_1);
::RegCloseKey(hKEY);
delete []owner_Get;