IP地址更新程序
原创
©著作权归作者所有:来自51CTO博客作者rightsoft的原创作品,请联系作者获取转载授权,否则将追究法律责任
当系统用DHCP获得IP地址的时候,如果网线是后来才插上去的,那么要更新一下ip地址。因为在没有插上网线或者网络由于某些原因不通的时候,dhcp会自动分配一个ip地址(99.9%的情况下是不可用的)。更新方法是点击任务栏上网络连接的图标,弹出的对话框中有个更新按钮。
问题来了:如果我的应用程序要一直跑在全屏模式下,那么就不应该有任务栏,当然也就不会有网络连接的图标了。通过看代码,那个对话框的实现是在public\common\oak\drivers\netui\ipquickcfgui.c文件中实现的。最主要的就是用到以下几个api函数:
DWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo,PULONG pOutBufLen);//This function retrieves adapter information for the local computer.
DWORD GetInterfaceInfo(PIP_INTERFACE_INFO pIfTable, PULONG dwOutBufLen );//This function obtains a list of the network interface adapters on the local system.
DWORD IpRenewAddress(PIP_ADAPTER_INDEX_MAP AdapterInfo );//This function renews a lease on an IP address previously obtained through Dynamic Host Configuration Protocol (DHCP).
仿照原来的文件重新做了个更新ip地址的对话框程序。只是在更新完要回显数据到对话框的时候启用了一个线程。在MS提供的代码中应该是隐藏了当数据更新完成后要再次调用更新按钮的功能代码而将数据回显到对话框中。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章