如何通过WinAPI删除缺少的网络适配器的静态IP配置?

如何通过WinAPI删除缺少的网络适配器的静态IP配置?,winapi,network-programming,wmi,msdn,iphelper,Winapi,Network Programming,Wmi,Msdn,Iphelper,当您使用以前在当前删除的网络适配器上使用过的特定IP地址配置网络适配器时,您将失败 如果您通过Windows TCP/IP设置GUI执行此操作,将收到警报,并提供删除旧适配器IP配置的选项 如何通过WinAPI实现相同的结果 如果我使用IP Helper函数(,),它们只返回连接的适配器 如果我通过执行查询来使用: "Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = False" 我只得到断开连接的设备,这很完美

当您使用以前在当前删除的网络适配器上使用过的特定IP地址配置网络适配器时,您将失败

如果您通过Windows TCP/IP设置GUI执行此操作,将收到警报,并提供删除旧适配器IP配置的选项

如何通过WinAPI实现相同的结果

如果我使用IP Helper函数(,),它们只返回连接的适配器

如果我通过执行查询来使用:

"Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = False"
我只得到断开连接的设备,这很完美,但“IPAddress”属性为空


那么,如何通过WinAPI将一个网络适配器的IP地址配置为另一个网络适配器以前使用过的IP地址,而现在已经不存在了?

您得到答案了吗?我也有同样的问题…@liorda我所做的就是侵入注册中心。我在HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces中循环,查看是否有任何接口具有包含我要使用的IP地址的字段IPAddress。如果我找到了一个,那么我会检查它是否在我的连接接口列表中。如果它在列表中,我会发出一个“IP复制”错误。如果不是,我将该接口的IPAddress字段设置为其默认值“0.0.0.0”,并将EnableDHCP设置为1,这样,如果它再次联机,它将通过DHCP获得IP配置。然后我就可以使用这个IP地址了。@Chris,这是一个合理的答案(即使不是你真正想要的答案)。发布它,并接受您自己的解决方案。