使用C ++更改IP设置

时间:2010-05-25 16:11:13

标签: c++ network-programming windows-ce ip-address

如何通过C ++以编程方式更改Windows CE 6框的IP设置? Windows的功能也可能有效。

我发现我可以通过sethostname更改主机名,但无法找到如何更改IP地址设置,例如:

  • IP地址
  • DHCP
  • 子网
  • 网关
  • DNS1 / DNS2
  • WINS1 / WINS2

任何建议/指针都会很棒。 感谢。

P.S。如何让盒子更新到这些设置 - 是刷新还是编程等同于ipconfig /renew

3 个答案:

答案 0 :(得分:3)

其中大部分属于IpHlp API。

您实际上更改 IP地址 - 您使用DeleteIpAddress删除旧地址,然后AddIpAddress添加新地址。您在添加地址时指定子网掩码。

你不清楚你想知道什么是DHCP。您可以通过IpReleaseAddressIpRenewAddress使用DHCP。您可以使用GetAdaptersInfo(以及其他)获取当前DHCP服务器的地址。至少如果内存服务,获取其地址主要是为了获取信息 - 因为DHCP的基本思想是避免手动配置,你通常可以通过广播消息找到/使用它。

<击> 您可以通过WMI Win32_NetworkAdapterConfiguration类(SetDNSServerSearchOrderSetWinsServer

设置DNS和WINS服务器

你也可以通过WMI调整其中很多(大多数?)其他参数。

答案 1 :(得分:2)

您是否在MSDN上查看了IP Helper Routines?我认为这些提供了一些(如果不是全部)你需要的东西。

**编辑:**更新了链接。谢谢ctacke

答案 2 :(得分:0)

注意:使用IpHelper,AddIpAddress不会永久更改IP地址。 重新启动后,原始的NIC设置又恢复了。