window 在注册表上修改IP 地址
来源:互联网 发布:java神奇的海螺 编辑:程序博客网 时间:2024/05/16 05:07
ip地址为自动获取时,IPAddress,SubnetMask,DefaultGateway 都为空.
DhcpIPAddress
Dhcpxxxxxxx不为空.
ip地址为手动设置时,IPAddress,SubnetMask,DefaultGateway 为对应设置的值,DhcpIPAddress没有这样的键值.
2.关于设置DSN服务器的问题:
自动获取和手动设置DSN服务器地址的选项 和注册表里面的NameServer相关联
NameServer为空时,代表是自动获取DSN服务器
NameServer为不为空时,代表就是备选的DSN服务器.
修改对应的ip后,必须要重启网卡才能使ip生效,因为发送通知window的函数无效,只能通过控制网卡来生效IP地址
BOOL CMyDlg::ChangeAdapterStatus(LPCTSTR AdapterDeviceDesc, int Flag)//Flag =DICS_DISABLE-->禁用网络
{ //Flag =DICS_ENABLE--->恢复网络
if (INVALID_HANDLE_VALUE == (hDevInfo =
SetupDiGetClassDevs(NULL,NULL,0,
DIGCF_PRESENT|DIGCF_ALLCLASSES)))
{
printf("GetClassDevs");
}
DWORD i;
SP_DEVINFO_DATA DeviceInfoData = {sizeof(SP_DEVINFO_DATA)};
unsigned char *guid[4]={0};
char DeviceName[200]={0};
wchar_t str[100]={0};
int size=100;
DWORD DataT;
unsigned char *buffer=NULL;
DWORD sz=0;
for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)
{
//DeviceInfoData.ClassGuid="{4D36E972-E325-11CE-BFC1-08002BE10318}";
StringFromGUID2(DeviceInfoData.ClassGuid,str,size);
char temp[100]={0};
char Rtl[]="{4D36E972-E325-11CE-BFC1-08002BE10318}";
for(int j=0;str[j]!='\0';j++)
{
temp[j]=(char)str[j];
}
if(strcmp(temp,Rtl)==0)
{
LPTSTR buffer=NULL ;
DWORD buffersize=0 ;
while(!SetupDiGetDeviceRegistryProperty(hDevInfo,&DeviceInfoData,\
SPDRP_DEVICEDESC,&DataT, (PBYTE)buffer,buffersize,&buffersize))
{
if(GetLastError()==ERROR_INVALID_DATA)
{
break ;
}
else if(GetLastError()==ERROR_INSUFFICIENT_BUFFER)
{
if(buffer)
LocalFree(buffer);
buffer=(LPTSTR)LocalAlloc(LPTR,buffersize);
}
else
{
SetupDiDestroyDeviceInfoList(hDevInfo);
return FALSE ;
}
}
if(GetLastError()==ERROR_INVALID_DATA)
continue ;
if(strcmp(buffer,AdapterDeviceDesc)==0)
{
if (StateChange(Flag,i,hDevInfo))
{
break;
}
else
{
CString temp="对";
temp+=AdapterDeviceDesc;
temp+="的操作失败!";
AfxMessageBox(temp);
return FALSE;
}
}
}
}
return TRUE;
}
- window 在注册表上修改IP 地址
- 教你怎么在linux上永久修改IP地址
- 在命令行修改IP地址
- 在命令行修改IP地址
- Window+笔记:Window下使用脚本快速修改IP地址
- 修改注册表中“本地连接”的Ip和网卡地址
- 修改IP和注册表Mac地址的方法
- 修改注册表更新客户端识别Deployment Server的IP地址
- am335X 开发板上修改IP地址
- 如何在注册表中修改MAC地址[转]
- CentOS在Shell中修改IP地址
- 如何在Solaris10下修改IP地址
- 在Linux系统中修改IP地址
- window上获取本机IP地址方法--windows编程
- window ip地址分配
- IP地址显示在图片上
- 在linux上配置固定ip地址
- 注册表修改MAC地址方法
- Android自定义View (四) CustomVolumControlBar
- 字体基本概念
- 时光机穿梭---删除文件
- android 再按一次后退键退出应用程序
- OPenCV4Android中Mat对象的内存若干测试(1)
- window 在注册表上修改IP 地址
- 关于iOS开发者账号功能总结-App打包
- Android中使用开源库slidingMenu实现侧滑效果
- 简单工厂模式
- Gvim/Vim 配置好了常用插件(Windows 与 Linux 通用)
- 关于“工作组管理员”
- 如何获取继承类中的泛型T的类型
- 【Linux 驱动】帖子收藏
- hadoop实战学习之用MapReduce简单对整形数据进行全局排序