哪个才是DHCP的服务器地址? HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Tcpip\\Parameters\\Interfaces\\%s注册表下有DhcpIPAddress和NameServer这两个项的值,到底哪像是DHCP的IP地址? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DhcpIPAddress是DHCP给你分配的局域网的IP 看了下连接的状态,DhcpIPAddress确实是我客户端IP。呵呵,服务端IP在注册表里还是没搜索到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters子项的DHCPNameServer的字符串值项为DHCP服务器地址 没DHCPNameServer这子项IPAutoconfigurationAddress这项有我本地连接的IP地址。可ADSL宽带连接的DHCP服务器IP还是不知道在哪 是啊,没有。我这段代码都读不到信息 int ret = 0;#ifdef _WIN32 int i; LONG err; HKEY hKey, hSub; char subkey[512], dhcpns[512], ns[512], value[128], *key = "SYSTEM\\ControlSet001\\Services\\Tcpip\\Parameters\\Interfaces"; if ((err = RegOpenKey(HKEY_LOCAL_MACHINE, key, &hKey)) != ERROR_SUCCESS) { fprintf(stderr, "cannot open reg key %s: %d\n", key, err); ret--; } else { for (ret--, i = 0; RegEnumKey(hKey, i, subkey, sizeof(subkey)) == ERROR_SUCCESS; i++) { DWORD type, len = sizeof(value); if (RegOpenKey(hKey, subkey, &hSub) == ERROR_SUCCESS && (RegQueryValueEx(hSub, "DhcpNameServer", 0, &type, value, &len) == ERROR_SUCCESS || RegQueryValueEx(hSub, "DhcpNameServer", 0, &type, value, &len) == ERROR_SUCCESS)) { dns->sa.sin_addr.s_addr = inet_addr(value); ret++; RegCloseKey(hSub); break; } } RegCloseKey(hKey); }#else 你读的是“SYSTEM\\ControlSet001\.....”!!!!!!!!!!!!!!!!!! HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters子项的DHCPNameServer的字符串值项为DHCP服务器地址 CurrentControlSet下也没有。算了,明天用公司的电脑看看 你看看你的代码,读的是什么,好吗?好吗?好吗?!!!!!!!!!!!!!!!!char subkey[512], dhcpns[512], ns[512], value[128], *key = "SYSTEM\\ControlSet001\\Services\\Tcpip\\Parameters\\Interfaces"; 我代码是读的这个。我刚是打开注册表看的CurrentControlSet bohut,谢啦。好晚了,我睡觉去了,晚安 DHCP不需要服务器地址。只要在网段内有个服务器就行,因为是广播的。这是因为在dhcp获得地址之前,你是没有地址的(所以才需要dhcp获取地址嘛)。既然自己没有地址,有了服务器地址也没法连接啊。所以dhcp服务器地址是不必要的,给了也用不上。 DHCPNameServer的值在不同网络中是动态改变的, 有可能与交换机配置有关,测试了一下, DHCPNameServer与我在交换机上配置的ip relay address相同(可以出现多个dhcp server的地址), 实际的dhcp server需要读在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\Parameters\Tcpip项下的dhcpserver的值注: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}是网卡对应的类名称, 可以通过枚举HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}项下的子项,找Connection\Name == 本机网卡的名称(如"本地连接") 多线程问题(望各位大虾帮忙分析一下),谢谢! VA插件的问题 请教高手问题 关于DATEANDTIMEPICKER控件的问题 几天都没解决 请问如何响应鼠标双击消息 怎么写一个打开的对话框 动态链接库找不到的问题,请教大家 急:在VC中怎么复制文件和文件夹 visual c++ 2005 Express Edition可以写标准Win32的窗口程序吗 如何优化sql语句,,来提供访问速度,,,, opencv怎么获取某一个封闭边界内部包含的像素点的面积? 请教一下知道两点求直线,和第三点到直线的距离,数学问题。。。 IOCP数据残包断包问题
服务端IP在注册表里还是没搜索到
IPAutoconfigurationAddress这项有我本地连接的IP地址。
可ADSL宽带连接的DHCP服务器IP还是不知道在哪
int i;
LONG err;
HKEY hKey, hSub;
char subkey[512], dhcpns[512], ns[512], value[128], *key =
"SYSTEM\\ControlSet001\\Services\\Tcpip\\Parameters\\Interfaces";
if ((err = RegOpenKey(HKEY_LOCAL_MACHINE,
key, &hKey)) != ERROR_SUCCESS) {
fprintf(stderr, "cannot open reg key %s: %d\n", key, err);
ret--;
} else {
for (ret--, i = 0; RegEnumKey(hKey, i, subkey,
sizeof(subkey)) == ERROR_SUCCESS; i++) {
DWORD type, len = sizeof(value);
if (RegOpenKey(hKey, subkey, &hSub) == ERROR_SUCCESS &&
(RegQueryValueEx(hSub, "DhcpNameServer", 0,
&type, value, &len) == ERROR_SUCCESS ||
RegQueryValueEx(hSub, "DhcpNameServer", 0,
&type, value, &len) == ERROR_SUCCESS)) {
dns->sa.sin_addr.s_addr = inet_addr(value);
ret++;
RegCloseKey(hSub);
break;
}
}
RegCloseKey(hKey);
}
#else
char subkey[512], dhcpns[512], ns[512], value[128], *key =
"SYSTEM\\ControlSet001\\Services\\Tcpip\\Parameters\\Interfaces";
好晚了,我睡觉去了,晚安
实际的dhcp server需要读在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\Parameters\Tcpip项下的dhcpserver的值注: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}是网卡对应的类名称, 可以通过枚举HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}项下的子项,找Connection\Name == 本机网卡的名称(如"本地连接")